Client Management Suite

 View Only

Graphical Install Wrapper 

Jun 09, 2012 08:59 AM

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
 
Anything not declared as a success code is an error and will halt the progress of the wrapper. Environment variables are also expanded.
 
As well as having standard executable tags, I also have added a variant to allow a 'tcp' ping
 
[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.
 
This might result therefore in a screen like below in the event of the tcp ping failure,
 
 
 
While the install EXE tags are in progress, the graphic can be animated through a sequence (all default graphics can be replaced simply by putting in replacement in a RESOURCES folder). If graphics are too much, a progress bar can be used instead. If the progress bar is too much, even that can be removed.
 
# ANIMATION_CLASS values are 0=NONE|1=GRAPHIC|2=PROGRESSBAR
[ANIMATION_CLASS] 2

# Set the animation interval in ms
[ANIMATION_INTERVAL] 200
 
All that's left now is to program a  process wait tag,
 
[EXE] PROCESS_WAIT(myprocess.exe)

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...

Statistics
0 Favorited
0 Views
0 Files
0 Shares
0 Downloads

Tags and Keywords

Comments

Sep 25, 2015 04:08 PM

Very nice solution.

Sep 25, 2015 12:26 PM

Would you still happen to have the GUI  EXE files avaible from this post to share?

Jun 11, 2012 11:06 AM

Of course! Would be a fairly pointless write-up if I didn't... ;-)

Jun 11, 2012 09:56 AM

Thanks for sharing this ! Will you also provide the file(s) ?

-BBC

Related Entries and Links

No Related Resource entered.