[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"?>

<packages>
<package id="sogo-addons"
              name="Addons SOGo"
              revision="3"
              reboot="false"
              priority="10">

<!-- 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" 
"%SOFTWARE%\thunderbird_addons\sogo-connector-%PKG_VERSION%.xpi" 
"%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" 
"%SOFTWARE%\thunderbird_addons\sogo-integrator.xpi" 
"%INSTALL_PATH%\sogo-integrator"' />

<upgrade include="install" />

<downgrade include="install" />

<remove cmd='taskkill /F /IM thunderbird.exe'>
<exit code="0" />
<exit code="128" />
</remove>
<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"' />

</package>
</packages>


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
FIREWALL-SERVICES SARL.
Société de Services en Logiciels Libres
Technopôle Montesquieu
33650 MARTILLAC
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