Difference between revisions of "WPKG"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
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>