Distributing URLs and Documents with ZENworks App Launcher
Novell Cool Solutions: Feature
By Daniel Stricharz
Digg This -
Posted: 4 May 1999
The main purpose of the ZENworks Application Launcher is to let you distribute applications from a central point and relieve the network personnel from the burden of visiting each workstation. But why not use Application Launcher to easily distribute information over your network? It seemed obvious to me that the Application Launcher should serve as storage for links to URLs and, for example, to PDF files. But instead of delivering documents through delivered applications, I wanted to distribute web documents directly. There were two main reasons to deliver URLs via Application Launcher:
- To distribute corporate information that lives on our web server, but doesn't always get the attention needed.
- To deliver web documents, either from our web server or from the Internet (such as white papers).
Examining the current options in ZENworks to achieve this task, I found there was only one native solution to this: when I want to deliver an http file, I would need to create an Application Object that points to the executable of the web browser and specifies the URL as a command line parameter. This wasn't quite the right solution, since I was faced with several problems:
- Most computers at our site have one or more web browsers locally installed. Should I specify a local executable therefore or overwrite these installations with a centrally delivered browser? Quite difficult at our site, because most departments are self-managed.
- How would I know which of the installed browsers is the default browser? I did not want to urge users of the Internet Explorer to use the Netscape Navigator or vice-versa.
- Similar problems arose with .doc-files. There may be users with MS Office installed already, others using StarOffice only.
Thus, a simple solution was needed to distribute files and have the files be opened by the application that they are associated to, similar to the way a user double-clicks and opens files residing on the desktop.
Further research revealed that there is a Win32 API call with the name ShellExecute. After providing a file, URL or drive letter path as parameter, this API function scans the registry of your Windows 95 or Windows NT machine for the associated application and opens the file or URL with it. This seemed to be what I was searching for. A simple program, appload.exe, was created that would take a file name, a URL, or drive letter as a command line parameter.
Since the utility only makes use of functions that already reside on your Windows machine, no additional files would be needed for installation. Indeed, I could place the file somewhere on our servers, where it could be run from.
The remaining task was to integrate the utility with Application Launcher. This is the easy part:
- Create a simple Application Object pointing to appload.exe.
- In the Environment Property Page add the URL, file, or path.
- Associate the Object to users and don't forget to add an Application title.
That's all. The Launcher will show, after a refresh or restart, the new Application icon. Clicking the icon will call appload.exe with the specified parameter and take your users to the web, open a PDF file, or open a folder on your server. You won't ever need to know what application was used. If one user chooses to have Netscape Navigator as the default browser, this browser will be opened. If another user prefers Internet Explorer, no problem.
Besides opening files, you could provide icons for sending e-mail to a specific address:
will open your e-mail program with a new message to the specified address.
Of course, the Application Launcher is not the only place to use the AppLoad utility. If, for example, you disabled the login results window, but suddenly want to display a message to your user, you could use AppLoad in your login script, e.g.:
Download the AppLoad utility along with a readme file, explaining the usage.
Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com