From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search

This document in other languages: French - Català

Server install

Download the latest stable release from http://wpkg.org/Download (should be a .ZIP file, as opposed to the client installer which should be an .MSI).

Now unzip the files someplace.

Now on the server that you want to install WPKG on, create a shared folder named WPKG.

Copy into the share folder by the following files (these are required for WPKG to run):

  • wpkg.js ("WPKG engine")
  • hosts.xml (host names, which will use WPKG)
  • profiles.xml (profiles available to hosts) and
  • packages.xml (applications and scripts that can be deployed or executed on workstations)

A detailed explanation of all the WPKG files can be found under WPKG files.

Server configuration


Let’s edit the hosts.xml (on the server of course) to add one computer for testing. Between the <wpkg> and </wpkg> add the line

<host name="yourcomputer" profile-id="Test" /> Replacing “yourcomputer” with the network name of your workstation!

This tells wpkg that your computer should use the Test profile. If you want to assign more than one profile to a host then use this format.

<host name="host1" profile-id="custom1" >
  <profile id="addons1"/>
  <profile id="addons2"/>


Ok, now that we have assigned our computer to a profile we need to create the profile and then add a package to it.

So let’s edit the profiles.xml file.

I just deleted all of the example profiles and then created a single profile named test. So between your profile tags it should look like:


   <profile id="Test">
   <package package-id="dia" />


So now we have a host tied to a profile. And the profile contains one package called “dia”


Now we need to create our package, so let’s edit the packages.xml file. The packages.xml file contains a bunch of example so let’s scroll to right above the closing tag at the bottom. (this is </packages>)

Next paste in (above the closing tag </packages>)

<package id="dia" name="Dia Diagram Editor" revision="1" reboot="false" priority="1">
        <check type="file" condition="exists" path="%PROGRAMFILES%\dia\dia-0.97.1-1-uninstall.exe" />
        <install cmd='%SOFTWARE%\graphics\dia-setup-0.97.1-1.exe /S' />
        <upgrade cmd='%SOFTWARE%\graphics\dia-setup-0.97.1-1.exe /S' />
      <remove cmd='%PROGRAMFILES%\dia\dia-0.97.1-1-uninstall.exe /S' />

I got this install definition from http://wpkg.org/Dia there is also a larger list of installers here: http://wpkg.org/Category:Silent_Installers

Download a copy of Dia from http://dia-installer.de/index_en.html


Create a folder inside your WPKG share named graphics and copy the dia-setup-0.96.1-8.exe into it.

Edit the settings of the package so that the install cmd= and upgrade cmd path is the direct path to where you copied the files.

       <install cmd='\\yourserver\wpkg\graphics\dia-setup-0.96.1-8.exe /S' />
       <upgrade cmd='\\yourserver\wpkg\graphics\dia-setup-0.96.1-8.exe /S' />

That finishes our Server Install.

Client install

Download the stable WPKG Client from http://wpkg.org/Download (should be an .MSI as opposed to the server .ZIP package, for example "WPKG_Client_1.2.1.msi"). Make sure you aren't downloading a developer release unless you really know what you're doing!

On your machine run the client installer (we will use it to create a config file to be pushed out to all the other machines)

You need to create a domain user with low user rights or use any old generic one if you have one. Basically this user needs to be able to read from the WPKG share.

Client configuration

So the first parameter you need to set is the remote path to your WPKG share. (Where wpkg.js resides)

This will be something like \\yourserver\WPKG\wpkg.js

You could also use the IP address which would look like \\\WPKG\wpkg.js (I recommend using the IP address and making sure your server has a hard coded static IP address)

Ok, leave the WPKG parameters as they are (/synchronize /nonotify /quiet)

For the WPKG path user: 
NOTE: you have to add WORKSTATION\, WORKGROUP\ or DOMAIN\ before the username):\username
For the WPKG path password: the password for this user account.
For the WPKG execution context, leave the User as SYSTEM and the password blank. This is the user that will be installing your packages.

Now hit the Test settings to verify your settings. If you run into trouble, double check all of your paths. If you run into the infamous “Multiple connections to a server or shared resource by the same user” error, then try referring to the server by a different name. For example use the ip address, or a full DNS name i.e. yourserver.yourdomain

You should not receive any [FAILED] results. When your settings are as you like them, press the export settings button to save them for later use. Now press Save. This will install the WPKG Service

Ok, let’s test to see if everything is working. We have our host defined, a profile assigned to a host, and packages as part of a profile. So, when we start the WPKG Service it should go and find our computer name, match it to the Test profile, and install the Dia package.

The quickest way to test is to go to start, run, type services.msc and then press ok. Scroll down to the very bottom and click on WPKG Service, and the start button. If everything is working as it should within a few moments you should see the Dia shortcut appear on your desktop.

Now you should install the WPKG client on all of your workstations using the settings.xml file.

One way is Push Install WPKG with Psexec

Client install problems on Vista/Win7

Windows UAC (User Account Control) can cause the client installation to fail with a message like the following:

You must have an administrative privilege to run this tool.

This happens even when being launched by an `Administrator'. The WPKG logs show this:

Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action _A9459942_EE79_497A_9080_F39DDA8A7B80, location: C:\Program Files\wpkg\wpkginst.exe, command: --SETTINGSFILE=

The solution is to launch a command window with elevated privileges and use that to start the installer. Quoting from one post of many:


  1. Make shortcut to cmd.exe
  2. Right click on it and select runas administrator
  3. "cd" to path where installer is, e.g. cd C:\Users\Myname\Downloads
  4. Run your msiexec command.
    1. msiexec /i "WPKG Client 1.3.14-x32.msi"
    2. For network, enter full path i.e msiexec /i "\\server1\MyShare\WPKG Client 1.3.14-x32.msi"

Install Alt

  1. For install across network or localy use "psexec" from Systeminternals with localhost and "-h" parameters, eg. "psexec -h localhost msiexec /le wpkg_error.txt /i WPKG_Client_1.3.14-x64.msi"