Conditional Application Distribution using Fault Tolerance
Novell Cool Solutions: Trench
By Daniel Stricharz
Digg This -
Posted: 8 Mar 2000
Novell's Application Launcher software contains a flexible solution for handling distribution problems through its Fault Tolerance features. Here is why and how the Fault Tolerance feature can be helpful in other situations, too.
Using ZENworks' Application Launcher there are two typical situations that need special consideration on how to distribute applications to your users:
- Integration of application objects in NAL for applications installed on
If you deploy the Application Launcher to your users you are faced with the problem that probably there are lots of applications installed on workstations already - applications that were not delivered through NAL. Although these applications shouldn't make any problems, there are worthwhile reasons to consider integration of these applications in NAL.
From your users' perspective, deploying the Application Launcher window or the Application Explorer means one more place to search for apps. However, the user already has to decide whether to look at the common folder section, the personal folders section in the Start menu, or even search for a shortcut on the desktop.
It is more than obvious that placing all neccessary application icons into a centrally managed container like NAL will make it much easier for users to find their way. If you decide to use NAL for these apps you need to plan whether the newly created application object should do a reinstall using snAppShot or if you should take the easy way by simply providing an icon in NAL that points to an executable and let the user click on an other icon if he needs to install the application first.
- Distribution of non-snAppShoted Applications
What to do in situations where creating a snAppShot gets a little tricky and you decide to create a simple application object that then points to a standard setup file? Normally, standard setup routines insert shortcuts into the Start menu from whence the application then needs to be called up. However, this may lead to confusion with your users when you try to get them used to calling up apps via NAL. You would need to inform your users where each application can be launched from.
A straight approach using NAL
The most obvious idea in both situations is to create two separate application objects - one pointing to the application's executable, another for the setup procedure. This, however, clutters the Application Launcher window or the Application Explorer menu with too many icons and makes it difficult for your users to keep track of all the available applications.
Another problem is that as long the application setup - either though NAL or the common way - has not already been run, NAL won't be able to find the relevant executable and will therefore prompt your users with the following message:
Enhancing the solution using Fault Tolerance
Consequently, it would be best to mimic NAL's normal behavior, where only a single application icon gets delivered to the user and - once the application is launched - NAL makes sure that all necessary components are installed. Hard to believe, but there is indeed a very simple solution for delivering both the application and a conditional setup though a single NAL icon even without snAppshot.
The key to the solution is to use a much-neglected feature in NAL -- Fault Tolerance. This feature enables you to have alternative application objects that are called up in case the primary or a secondary application object, entered in the fault tolerance list, fails to launch. Normally, you would provide application objects of the same type, but located on different servers. Should the server hosting the primary application object be unreachable, NAL would try to launch the app from the next location -- a very clever feature.
Now, what we do is to modify the purpose of the Fault Tolerance feature. Instead of providing applications of the same type, we will use this feature to combine the application and the application setup.
The main application object, in this example 'MyApp', will point to the application's executable -- let's say <c:\program files\MyApp\app.exe>. Another application object, 'MyApp_Setup', launches the setup from your server's drive, say <p:\programs\MyApp\setup.exe>. Using the Fault Tolerance tab for the application object 'MyApp' you enable fault tolerance for this object, and specify 'MyApp_Setup' as the alternative application object to launch, as seen in the following image.
If your users are starting up MyApp for the first time, NAL will detect that the file <c:\program files\MyApp\app.exe> is missing. But, instead of prompting the user with an error message, NAL checks whether fault tolerance was enabled. Since MyApp_Setup was specified as an alternative application object for fault tolerance, NAL will launch the standard installation procedure.
Now that NAL triggers the installation of the setup automagically, you can hide the MyApp_Setup icon. (Hiding NAL icons can be done on the associations tab in NWAdmin.) After the installation is finished, the same application object would simply launch the application's executable ... and thus you have just killed two birds with one stone.
In 1993, Daniel Stricharz first began working as a NetWare administrator. He has since gradually learned to enjoy the flexibility of NDS-based administration and the power of ZENworks. Quite apart from the ease and speed of deploying desktop solutions through ZENworks, Daniel likes the way the program allows a new level of personal creativity in day-to-day administration tasks.
Since 1994, Daniel Stricharz has been editor for the German law journal 'Datenschutz-Berater', covering Privacy Law and Data Security. He also works as a freelance IT consultant and lecturer to law fims and financial advisors.
Daniel is a member of the ZENworks Cool Solutions Board of Review, and frequently contributes articles and tools that make ZENning even easier.
Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com