Pulling updates with wxWidgets

All the convenience of enterprise anti-virus software updates, without the enterprise (license fee?).

Working for a small to medium enterprise as I do, we have some similar challenges to large enterprises but no budget to take advantage of the same product offerings that are available to larger organisations. In this particular case, every PC in the organisation is appropriately licensed for the anti-virus software installed on the system.

The software vendor is kind enough to provide near daily updates to the software, but in the our organisation it is either up to the users to update this software or the PC support technician to do it as the opportunity arises.

To me this seemed like an opportunity to automate.

The updates are available at a fixed URL, the format and name of the file never change. This means the hitting a URL with wget -N using a cron job once a day is easy. Now the organisation has a fresh anti-virus update file available within the organisation at least once a day or as frequently as provided by the vendor.

Next challenge, getting it to the PC. Building on the previous success of the Intranet News Notification system, I elected to have a small run at startup executable in C++ with wxWidgets that would periodically poll a defined network location for a new anti-virus update. If an update was found, the application would notify the user that an update was being installed in the background, then perform an unattended install. On completion of the install, the application would prompt the user to optionally reboot.

It would have been possible to write this as a Windows Service or run a job as a Scheduled Task, however neither of these offered the user interactivity options that were required.

And there you have it, an enterprise (ish) anti-virus update system without the enterprise license fee.


Recent Posts


Kurt Written by: