Difference between revisions of "WPKG"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
m
Line 1: Line 1:
 +
= WPKG Client upgrade =
 +
 
Computer scientists love recursion, or bootstrap, so this it a try to write a WPKG xml file that... installs itself.
 
Computer scientists love recursion, or bootstrap, so this it a try to write a WPKG xml file that... installs itself.
  
'''NOTE: upgrade will not work if WPKG service is running. Therefore, you have to kill WPKGsrv.exe process first. On XP, it can be done like below; on Windows 2000, which doesn't have <code>taskkill</code> command, you can use an external <code>pskill</code> command.'''
+
Some theory first.<br />
 
+
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 <code>taskkill</code> command; on Windows 2000, which doesn't have <code>taskkill</code> command, you can use an external <code>pskill</code> command.
<source lang="dos">
+
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
+
</source>
+
 
+
 
+
Here is the XML which '''does not''' contain killing WPKGsrv.exe:
+
  
 +
<source lang="xml">
 
<?xml version="1.0" encoding="UTF-8"?>
 
<?xml version="1.0" encoding="UTF-8"?>
  
Line 40: Line 34:
 
<!-- <remove cmd='msiexec /qn /x{D6D68FEC-0044-4E2A-9333-6C4BC1D5B1DE}' /> -->  <!-- 1.2rc5 -->
 
<!-- <remove cmd='msiexec /qn /x{D6D68FEC-0044-4E2A-9333-6C4BC1D5B1DE}' /> -->  <!-- 1.2rc5 -->
 
</package>
 
</package>
+
</source>
 +
 
 +
Here is <code>wpkg_upgrade.bat</code> script:
 +
 
 +
<source lang="dos">
 +
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
 +
</source>
 +
 
 +
 
 +
= Changing WPKG Client settings =
 +
 
 +
<source lang="xml">
 
<package
 
<package
 
         id="wpkg-settings"
 
         id="wpkg-settings"
Line 56: Line 64:
 
</source>
 
</source>
  
 +
 +
 +
<!--
 
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:
 
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:
  
Line 90: Line 101:
 
</package>
 
</package>
 
</source>
 
</source>
 
+
-->
  
 
[[Category:Silent Installers]]
 
[[Category:Silent Installers]]

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>