[wpkg-users] Why I love WPKG and how we use it as a MSP with multi tenancy and mobile devices

QiQQ Partners partners at qiqq.nl
Thu Jun 28 21:44:35 CEST 2018

I read a lot messages with the question, what will be the feature of WPKG. I'm also not really sure what the future will be of WPKG, but I can say that it's extremely reliable and when you test all you're packages in Win 7 32,64-bit and Win 10 32, and 64 bit for installing. upgrading and removing you can trust on it.

One month ago I had the problem, that I  need to renew our way of deployment. We need to deploy software over the internet and WPKG is based on a network share. I'm already using WPKG for a long time and it never disappointed me, but I really need mobile device management. Because at the moment we used a combination of Active Directory, scripted and synced group policy's to our clients who are having one way AD trust.

So I was looking for other software than WPKG to deploy my software, there a very much applications from free till to expensive. But mostly are using a push method and don't show the users what's  going on their computer. I love the way WPKG works, so I started to combine WPKG with our RMM tool N-Central.

The most important part from WPKG are for me:

  1.  It's check system works perfect
  2.  Remove command are included, to keep computers clean
  3.  It is a GET system, not aPUSHsystem like almost all alternatives.
     *   GET: The machine is running WPKG-GP, and is asking what it packages needs to be installed, updated or removed
     *   PUSH: I have a package, I do a scheduled deploy, but when pushing software can already be in use... So sometime packages fails
  4.  Almost zero problems, when using with WPKG-GP. It runs on boot before the login screen. So no other software is running and install and remove commands can do there work perfectly under system account
  5.  To give you're clients the option to install software when they have time, just deploy WPKG-GP Client. It's written in Putty and gives users a small tray icon what checks for new software.
     *   When new software is found, it brings up a popup
     *   When clicking the popup, clients can say to install.

                                                               i.      The applications say to close all windows

                                                             ii.      Will do a synchronize

                                                           iii.      Let the user know when ready

  1.  When clients forget to install updates, on reboot WPKG-GP will take it over and deploy packages at boot.

But mobile devices, what about them? We had this problem, that mobile devices can't reach the network share. Before we installed the Softether VPN clients that starts before WPKG starts. And it was working perfect, but now we wanted to implement it for clients without any server. So we setup the following:

  1.  Make webserver, SSL based and place the next files on it:
     *   Folder as software share, where al package zip files are stored
     *   %custommername%.hosts.xml
     *   profiles.xml
     *   packages.xml
  2.  Implement the URL's to config.xml, we also did enable "applyMultiple" variable to match at more hostnames
  3.  Make a zip on the place it on the http server
  4.  With N-Central we created a Automation Script, called WPKG deploy
     *   New computer, we install N-Central agent

                                                               i.      Let it create a system environment variable %custommername%

                                                             ii.      Push out the task WPKG Deploy, this download WPKG.zip and extract files WPKG.JS and config.xml to your own folder

                                                           iii.      Runs the command: cscript foldername\wpkg.js /quiet /install:wpkg-gp,softwareaudit,python,wpkg-gp-client

                                                           iv.      Now N-Central give a message, WPKG is installed

                                                             v.      We open WPKG-GP Client

                                                           vi.      Press update and everything will be installed

                                                          vii.      Reboot computer and WPKG-GP will do the rest when needed

     *   We  can redeploy config files and wpkg.js when needed with
  1.  All packages are having variables, to make it more easy.
     *   Software source
     *   Download and unzip commands
     *   Destination
     *   All you need
  2.  All packages are stored on the https server
  3.  All package packgename.xml are stored in separated folders on the server
  4.  A Powershell script combines all separate package.xml to one packages.xml, because WPKG can't crawl through the separated package xml file if you place them in the packages folder.

A export from N-Central will export the hostname, client and site name to a CSV file. I'm busy making a Powershell script to import this CSV file and automatically renew the hosts.xml file and based on the site variable I can add specific packages to specific groups of computers.

Because we don't want to make all packages, we created a perfect NinitePro integration, that do's:

  1.  Give a applist input, to Ninite for checking if applications are installed or need to be upgraded or installed
  2.  All packages, have a check like:
<check type="execute" path='%comspec% /C %INSTALL_SOURCE%\versioncheckv2.bat "%NINITEPACKAGENAME%"' condition="exitcodeequalto" value="1" />
  3.  Almost all applications are installed and checked in combination with WPKG and Ninite.

Some people will say why don't you use N-Central or Ninite agent to deploy the software. Because I love they way WPKG is build, with perfect check, install, upgrade and remove command. And because it starts before Windows is running, so it uses a GET option we have computers that are installed a long time ago and never get in to problems. Also it's very clear to the user with WPKG-GP and WPKG-GP Client what's going on, just like Windows updates.

After 2 weeks of redesigning and testing our share based WPKG, I rebuilded it to a powerfull location and server independent package managment system. With a lot of thanks to the projects: WPKG, WPKG-GP and WPKG-GP client.

Things to do for me:

  1.  Integrate other package managers as Chocolaty and Npackd. That WPKG will check for this repository's if there are needed installs, upgrades or removes
  2.  Add client side SSL certificate to my https WPKG sever
  3.  Add a variable, when inside the client network don't set the local https server.
  4.  Maybe sharing my complete script and package database on Github

So I hope that everyone that's thinking that WPKG is death, it's open source and you can build what you want.

Greetz ARKO

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wpkg.org/pipermail/wpkg-users/attachments/20180628/d48c6d55/attachment-0001.html>

More information about the wpkg-users mailing list