Difference between revisions of "WPKG"
From WPKG | Open Source Software Deployment and Distribution
m |
m (→Changing WPKG Client settings) |
||
Line 58: | Line 58: | ||
<depends package-id="wpkg"/> | <depends package-id="wpkg"/> | ||
− | <install cmd='%PROGRAMFILES%\WPKG\wpkginst.exe --SETTINGSFILE=%SOFTWARE%\WPKG\settings.xml' /> | + | <install cmd='"%PROGRAMFILES%\WPKG\wpkginst.exe" --SETTINGSFILE="%SOFTWARE%\WPKG\settings.xml"' /> |
− | <upgrade cmd='%PROGRAMFILES%\WPKG\wpkginst.exe --SETTINGSFILE=%SOFTWARE%\WPKG\settings.xml' /> | + | <upgrade cmd='"%PROGRAMFILES%\WPKG\wpkginst.exe" --SETTINGSFILE="%SOFTWARE%\WPKG\settings.xml"' /> |
<remove cmd='echo "nothing"' /> | <remove cmd='echo "nothing"' /> | ||
</package> | </package> |
Revision as of 20:21, 20 April 2008
WPKG Client upgrade
Computer scientists love recursion, or bootstrap, so this it a try to write a WPKG xml file that... installs itself.
Some theory first.
Upgrade will not work if WPKG service is running. Therefore, you have to kill WPKGsrv.exe process first. On XP, it can be done with taskkill
command; on Windows 2000, which doesn't have taskkill
command, you can use an external pskill
command.
<?xml version="1.0" encoding="UTF-8"?>
<packages>
<package
id="wpkg_client"
name="WPKG Client 1.2.1"
revision="6"
reboot="false"
priority="10">
<check type="uninstall" condition="exists" path="WPKG" />
<check type="file" condition="sizeequals" path="%PROGRAMFILES%\wpkg\wpkginst.exe" versionequalto="1.0.0.8" />
<install cmd='cmd /C start C:\wpkg\software\WPKG\wpkg_upgrade.bat' />
<upgrade cmd='cmd /C start C:\wpkg\software\WPKG\wpkg_upgrade.bat' />
</package>
</packages>
<!-- uncomment whichever is appropriate below, depending on your client version -->
<!-- <remove cmd='msiexec /qn /x{49676893-9829-4674-953D-1107C6B2C127}' /> --> <!-- 1.0rc2 -->
<!-- <remove cmd='msiexec /qn /x{2F7AB97F-17EC-4128-9BD1-903FC71F1B52}' /> --> <!-- 1.2rc6 -->
<!-- <remove cmd='msiexec /qn /x{D6D68FEC-0044-4E2A-9333-6C4BC1D5B1DE}' /> --> <!-- 1.2rc5 -->
</package>
Here is wpkg_upgrade.bat
script:
taskkill /F /IM WPKGSrv.exe
ping -n 1 127.0.0.1 >nul
msiexec /norestart /qn /i "%SOFTWARE%\WPKG\WPKG Client 1.2.1.msi" ALLUSERS=1 SETTINGSFILE="%SOFTWARE%\WPKG\settings.xml"
exit
Changing WPKG Client settings
<package
id="wpkg-settings"
name="WPKG Settings"
revision="5"
priority="5"
reboot="false"
execute="once">
<depends package-id="wpkg"/>
<install cmd='"%PROGRAMFILES%\WPKG\wpkginst.exe" --SETTINGSFILE="%SOFTWARE%\WPKG\settings.xml"' />
<upgrade cmd='"%PROGRAMFILES%\WPKG\wpkginst.exe" --SETTINGSFILE="%SOFTWARE%\WPKG\settings.xml"' />
<remove cmd='echo "nothing"' />
</package>