Normally, I'm a silent deployment guy. That's not to say I'm quiet, it's more that in all our deployments I prefer zero interaction with the user. Sometimes though, this is not possible and interaction is required.
Over the last week I've been creating an generall GUI install wrapper to allow us to push out a standalone Inventory application to our 'unmanaged' computer population. The inventory packages provided by Altiris are functional, but lack the user experience and various prompts that we'd like.
So, I created a customisable wrapper. The final result looks as below,
This style is familiar to most of our users, as it's what we've been using for years for our Sophos anti-virus installation wrapper. In the above, most of what you see is customisable -the form dimensions, the form caption, the graphics and the labels. It's all driven through a text file that's incredibly not XML.
The wrapper can accept any number of executable entries like the following,
[EXE] cmd /c "del /f /q "%programfiles%\Altiris\express\Inventory\*.*"" [TXT] Cleaning existing inventory (if existing)... # both 0 and 1 are success as we don't care that the result is [SUCCESS_CODES] 0;1
[EXE] TCP_PING(myaltirisserver.acme.com,80) [TXT] Testing Connectivity to Altiris Server [SUCCESS_CODES] 0; [CODES_TXT_2] Cannot contact the Inventory Upload Server. Please try again in 15 minutes. If problem persists, please email itsupport.
# ANIMATION_CLASS values are 0=NONE|1=GRAPHIC|2=PROGRESSBAR [ANIMATION_CLASS] 2 # Set the animation interval in ms [ANIMATION_INTERVAL] 200
This is to allows the installation process to wait in cases where executables launch other exectuables and then exit themselves. Once that's done, all that's left then is to zip the whole lot into a self-extracting archive, get it signed, and then push it out to the unwashed masses.
And then write it up properly for Connect of course...