[wpkg-users] Silent install of Thunderbird plugin

Daniel Berteaud daniel at firewall-services.com
Thu Oct 11 09:03:02 CEST 2012

Le 10/10/2012 23:49, Donny Brooks a écrit :
> I am trying to figure out how to get Thunderbird to silently install a plugin. I only need it to run once as the plugin I am trying to install is the SOGo integrator. After the initial install it should be able to update itself after that. I have tried the "version 4 or later" section on the wiki but thunderbird does not auto install the plugin no matter what I set the extensions.autoDisableScopes to. Does anyone have this working? I am trying to do this with Thunderbird 10.0.8 ESR as that is needed for my plugins.

Here's the package description I use to deploy SOGo addons:

<?xml version="1.0" encoding="UTF-8"?>

<package id="sogo-addons"
              name="Addons SOGo"

<!-- 7zip est nécessaire pour extraire l'XPI -->
<depends package-id="7zip" />
<!-- Et bien sur, Thunderbird aussi est nécessaire ;-) -->
<depends package-id="thunderbird" />
<!-- le deploiement de config Thunderbird aussi est nécessaire -->
<depends package-id="thunderbird-config" />
<!-- Lightning aussi doit être installé -->
<depends package-id="lightning" />

<variable name="PKG_VERSION" value="10.0.3" />
<variable architecture="x86" name="INSTALL_PATH" 
value="%PROGRAMFILES%\Mozilla Thunderbird\distribution\bundles" />
<variable architecture="x64" name="INSTALL_PATH" 
value="%PROGRAMFILES(x86)%\Mozilla Thunderbird\distribution\bundles" />

<check type="execute" path='%COMSPEC% /C type 
"%INSTALL_PATH%\sogo-connector\install.rdf" | find /I "em:version=" | 
find "%PKG_VERSION%"' condition="exitcodeequalto" value="0" />
<check type="execute" path='%COMSPEC% /C type 
"%INSTALL_PATH%\sogo-integrator\install.rdf" | find /I "em:version=" | 
find "%PKG_VERSION%"' condition="exitcodeequalto" value="0" />

<install include="remove" />
<install cmd='%COMSPEC% /C if not exist "%INSTALL_PATH%\sogo-connector" 
mkdir "%INSTALL_PATH%\sogo-connector"' />
<install cmd='"%SOFTWARE%\7zip\unzip.bat" 
"%INSTALL_PATH%\sogo-connector"' />
<install cmd='%COMSPEC% /C if not exist "%INSTALL_PATH%\sogo-integrator" 
mkdir "%INSTALL_PATH%\sogo-integrator"' />
<install cmd='"%SOFTWARE%\7zip\unzip.bat" 
"%INSTALL_PATH%\sogo-integrator"' />

<upgrade include="install" />

<downgrade include="install" />

<remove cmd='taskkill /F /IM thunderbird.exe'>
<exit code="0" />
<exit code="128" />
<remove cmd='%COMSPEC% /C if exist "%INSTALL_PATH%\sogo-connector" del 
/Q /F "%INSTALL_PATH%\sogo-connector"' />
<remove cmd='%COMSPEC% /C if exist "%INSTALL_PATH%\sogo-integrator" del 
/Q /F "%INSTALL_PATH%\sogo-integrator"' />


It'll just install the three needed plugins (sogo-integrator, 
sogo-connector. Lightning is in a separate package, but I use the same 
method) in C:\Program Files\Mozilla Thunderbird\distribution\bundles

You need to have the unzip.bat script available. Here's mine:

"%PROGRAMFILES%\7-Zip\7z.exe" x -yo%2 %1 >NUL

With this solution, you don't need the updates.php script on your 
server, and you can manage addons upgrades like any software through 
WPKG (that was my goal).

Regards, Daniel

Daniel Berteaud
Société de Services en Logiciels Libres
Technopôle Montesquieu
Tel : 05 56 64 15 32
Fax : 05 56 64 15 32
Web : http://www.firewall-services.com

More information about the wpkg-users mailing list