Difference between revisions of "WPKG"
From WPKG | Open Source Software Deployment and Distribution
Line 14: | Line 14: | ||
<upgrade cmd='%PROGRAMFILES%\WPKG\wpkginst.exe --SETTINGSFILE=%WPKGROOT%\settings.xml' /> | <upgrade cmd='%PROGRAMFILES%\WPKG\wpkginst.exe --SETTINGSFILE=%WPKGROOT%\settings.xml' /> | ||
<remove cmd='%SOFTWARE%\pstools\pskill.exe /accepteula WPKGSrv.exe' > | <remove cmd='%SOFTWARE%\pstools\pskill.exe /accepteula WPKGSrv.exe' > | ||
+ | <exit code="-1" /> <!-- If wpkg client is not running pskill.exe will fail with -1 exit code. | ||
+ | --> | ||
+ | </remove> | ||
<!-- uncomment whichever is appropriate below, depending on your client version --> | <!-- 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{49676893-9829-4674-953D-1107C6B2C127}' /> --> <!-- 1.0rc2 --> |
Revision as of 04:36, 17 December 2007
Computer scientists love recursion, or bootstrap, so this it a try to write a WPKG xml file that... installs itself.
<package id="wpkg" name="WPKG" revision="80" priority="100" reboot="false"> <check type="uninstall" condition="exists" path="WPKG" /> <install cmd='msiexec /qb /i %SOFTWARE%\WPKG\WPKGSetup.msi SETTINGSFILE=%WPKGROOT%\settings.xml' /> <upgrade cmd='msiexec /qb /i %SOFTWARE%\WPKG\WPKGSetup.msi' /> <upgrade cmd='%PROGRAMFILES%\WPKG\wpkginst.exe --SETTINGSFILE=%WPKGROOT%\settings.xml' /> <remove cmd='%SOFTWARE%\pstools\pskill.exe /accepteula WPKGSrv.exe' > <exit code="-1" /> <!-- If wpkg client is not running pskill.exe will fail with -1 exit code. --> </remove> <!-- 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> <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=%WPKGROOT%\settings.xml' /> <upgrade cmd='%PROGRAMFILES%\WPKG\wpkginst.exe --SETTINGSFILE=%WPKGROOT%\settings.xml' /> <remove cmd='echo "nothing"' /> </package>
I use this setup from now to install all the stuff with a single command; I've simply build up a batch file that defines the same environment variable defined in settings.xml and start directly wpkg.js, as:
:: Startup script for wpkg, for the first installation :: :: These are not (still) defined elsewhere, define it. :: set WPKGROOT=\\FILE\wpkg set SOFTWARE=\\MEDIA\Software set VPSERVER=MORPHEUS :: Call directly wpkg.js, note the %* at the end, that permit to add custom parameters... :: cscript %WPKGROOT%\wpkg.js /synchronize %*
install Log for computers
<package id="wpkglog" name="wpkg.xml files from workstations" revision="1" priority="0" execute="always"> <install timeout="15" cmd='cmd /C copy /Y "%SYSTEMROOT%\system32\wpkg.xml" "\\serwer\hostlogs\%COMPUTERNAME%-wpkg.xml"' /> </package>
remove wpkg.xml
<package id="wpkgxmlremove" name="wpkg.xml remove" revision="1" priority="0" execute="once"> <install timeout="15" cmd='cmd /C del /Q "%SYSTEMROOT%\system32\wpkg.xml"' /> </package>