Hi Johannes, Johannes.Brix at evidian.com wrote: > I don't know if this is a bug of wpkg.js or of my config, > but removing this package doesn't remove it from wpkg.xml. Let's check. > <package > id="pidgin" > name="Pidgin" > revision="2530" > reboot="false" > priority="1"> > <check type="file" condition="versionequalto" > path="%programfiles%\pidgin\pidgin.exe" value="2.5.3.0" /> > <install cmd='cmd /C taskkill /F /T /IM pidgin.exe' > > <exit code='1' /> > <exit code='128' /> > </install> > <install cmd='\\evd-ads2\wpkg\Pidgin\pidgin-2.5.3.exe /L=1031 /S /NOUI' > /> > <install cmd='\\evd-ads2\wpkg\Pidgin\pidgin-install.cmd' /> > <upgrade cmd='cmd /C taskkill /F /T /IM pidgin.exe' > > <exit code='1' /> > <exit code='128' /> > </upgrade> > <upgrade cmd='\\evd-ads2\wpkg\Pidgin\pidgin-2.5.3.exe /L=1031 /S /NOUI' > /> > <upgrade cmd='\\evd-ads2\wpkg\Pidgin\pidgin-install.cmd' /> > <remove cmd='\\evd-ads2\wpkg\Pidgin\pidgin-remove.cmd' > > <exit code='0' /> > </remove> > </package> Looks OK - you should think about using %SOFTWARE% or similar variables to point to your software repository for portability reasons. > --------------------------------------------------------- >>From the log: > > 2009-01-02 16:43:25, DEBUG : Executing command : cmd /C taskkill /F /T > /IM pidgin.exe > 2009-01-02 16:43:27, INFO : Command 'cmd /C taskkill /F /T /IM > pidgin.exe' returned exit code [128]. This exit code is not an error. > 2009-01-02 16:43:27, INFO : Command in installation of Pidgin returned > exit code [128]. This exit code indicates success. > 2009-01-02 16:43:27, DEBUG : Executing command : > \\evd-ads2\wpkg\Pidgin\pidgin-2.5.3.exe /L=1031 /S /NOUI > 2009-01-02 16:43:50, DEBUG : Command in installation of Pidgin returned > exit code [0]. Success. > 2009-01-02 16:43:50, DEBUG : Executing command : > \\evd-ads2\wpkg\Pidgin\pidgin-install.cmd > 2009-01-02 16:43:53, DEBUG : Command in installation of Pidgin returned > exit code [0]. Success. > 2009-01-02 16:43:53, DEBUG : Checking existence of package: Pidgin > 2009-01-02 16:43:53, DEBUG : Finding version of > C:\Programme\pidgin\pidgin.exe| > 2009-01-02 16:43:53, DEBUG : Obtained version "2.5.3.0". > 2009-01-02 16:43:53, DEBUG : Leaving getFileVersion with version 2.5.3.0 > 2009-01-02 16:43:53, DEBUG : Checking file version 2.5.3.0 is > versionequalto (than) 2.5.3.0 - got result 0 > 2009-01-02 16:43:53, DEBUG : Checking version of > 'C:\Programme\pidgin\pidgin.exe' : Is 2.5.3.0 = 2.5.3.0 ? true Install/upgrade seems to be OK. This is most probably happening due to the upgrade-before-remove feature of WPKG. > 2009-01-02 16:43:53, DEBUG : Removing currently existing settings node > first: 'Pidgin' (pidgin), Revision 2530 > 2009-01-02 16:43:53, DEBUG : Adding settings node: 'Pidgin' (pidgin), > Revision 2530 > 2009-01-02 16:43:53, INFO : Processing (install) of Pidgin successful. > 2009-01-02 16:43:53, DEBUG : Restoring previous environment. Successfully added to settings (wpkg.xml). Now the removal process seems to start: > 2009-01-02 16:43:53, INFO : Removing Pidgin (pidgin)... > 2009-01-02 16:43:53, DEBUG : Executing command: > \\evd-ads2\wpkg\Pidgin\pidgin-remove.cmd > 2009-01-02 16:43:56, DEBUG : Command returned result: 0 > 2009-01-02 16:43:56, INFO : Command > '\\evd-ads2\wpkg\Pidgin\pidgin-remove.cmd' returned exit code [0]. This > exit code is not an error. So pidgin-remove.cmd executed properly. Unfortunately you did not post its content. It might return success even if it did not remove pidgin properly. > 2009-01-02 16:43:56, INFO : Command in removal of Pidgin returned exit > code [0]. This exit code indicates success. Now WPKG is going to execute the checks again to see if the package is still installed. > 2009-01-02 16:43:56, DEBUG : Checking existence of package: Pidgin > 2009-01-02 16:43:56, DEBUG : Finding version of > C:\Programme\pidgin\pidgin.exe| > 2009-01-02 16:43:56, DEBUG : Obtained version "2.5.3.0". > 2009-01-02 16:43:56, DEBUG : Leaving getFileVersion with version 2.5.3.0 > 2009-01-02 16:43:56, DEBUG : Checking file version 2.5.3.0 is > versionequalto (than) 2.5.3.0 - got result 0 > 2009-01-02 16:43:56, DEBUG : Checking version of > 'C:\Programme\pidgin\pidgin.exe' : Is 2.5.3.0 = 2.5.3.0 ? true C:\Programme\pidgin\pidgin.exe seems till to be installed. Note that WPKG does nto cache anything here. > 2009-01-02 16:43:56, DEBUG : Checking pidgin zombie state. Zombie state is assumed because the 'pidgin' package is still in your server package tree but not within the profile assigned to the current host. > 2009-01-02 16:43:56, ERROR : Could not process (remove) Pidgin.|Package > still installed. Failed to remove. Please verify that your pidgin-remove.cmd script is properly removing Pidgin. Please also note that on 64-bit systems Pidgin is installed at c:\Program Files(x86)\Pidgin and not at c:\Program Files\. Your uninstall script should consider this fact too. My personal 'pdigin-remove.cmd' script looks as follows: @echo off echo Removing Pidgin set INSTALL_LOC=%ProgramFiles% if not "%ProgramFiles(x86)%" == "" set INSTALL_LOC=%ProgramFiles(x86)% start /wait "Pidgin" "%INSTALL_LOC%\Pidgin\pidgin-uninst.exe" /S > Pidgin has been properly removed, but WKPG is not able to remove it from > the list. It will not remove it from wpkg.xml as long as the checks still yield true (still installed). >>From the log, I see that wpkg.js checks the file version of pidgin.exe, > but this file doesn't exist any more. > It seems that it is checking some cached data. > Perhaps, there is refresh needed somewhere. There is no such thing like a cache - unless the operating system is doing some caching - but I've never experienced Windows pretending that a removed file is claiming a file to exist when it has been removed. Please verify that the files are really removed by your pidgin-remove.cmd script. I am quite sure they are still there. br, Rainer |