The Basics of Auto-verify
Novell Cool Solutions: Feature
By Matt Brooks
Digg This -
Posted: 21 Jul 1999
Auto-verify is a feature Application Launcher has offered since version 2.5. In essence, Auto-verify gives App Launcher the ability to offer a prompt to the user asking if they wish to ?Verify' the installation of the application. This is particularly useful when you want to re-distribute an application that may have been damaged, but you want to let the user choose the time for the re-distribution to take place.
The key to this kind of control is to set the proper flags. When App Launcher does a Verify it is simply running through the distribution process all over again. This does not mean it will necessarily copy all the files down again, it just means it will check each file using the flags set on that file copy, and may or may not copy the file again depending on what you have marked.
For example, if all of your files were marked Copy if Newer, when you verified the application install none of the files would be copied again, unless they were back-dated or removed. The same goes for all of the configuration settings. On the other hand, if you had marked the settings Create Always, that would mean that the existing settings, if any, would always be overwritten. So, depending on how the flags are set, a Verify can do next to nothing or it can totally re-write the files and settings.
When does Verify appear on the context menu of an application?
Verify is typically available through the application icon's context menu. If the application has not been installed or any of the GUID stamps are out-of-sync, Verify will not be available. If the application has been installed and all GUID stamps are in sync, then Verify will be available from the context menu.
How do I get Verify to be available from the Start Menu?
Context menus are available from Start Menu icons if Internet Explorer 4 or greater has been installed with the Desktop Update option.
Why isn't the auto-verify prompt given on every error message?
The auto-verify prompt will only be given under certain circumstances.
- The application must be a distributable application. That is, it must have something to distribute like files to copy, registry settings to make, etc.
- The error code returned from the launch must match a certain set of error codes App Launcher believes it can repair. It doesn't make any sense to offer Verify if the error code was something like Not enough memory or Server not found. However, if the error code deals with something fixable, like file or path not found, Verify will typically be offered to the user.
- The application must not handle DLLs manually, or it will outsmart App Launcher. Sometimes App Launcher will launch an application that fails to run with an error message stating a DLL is missing, but App Launcher does not report the error. There are certain circumstances where applications handle the loading of DLLs manually (in programming terms LoadLibrary and GetProcAddress). In those cases, App Launcher does not get an indication from the Windows launch API. As far as App Launcher and Windows are concerned, the application loaded just fine. It is the application that is reporting the error and outsmarting App Launcher and Windows.
Why prompting is cool
If App Launcher were to auto-verify without a prompt, the user could experience an unwanted re-distribution of the application. Typical users find that extremely irritating, and aren't afraid to say so. For example, say the application is a 100MB install of files and 1000 or so registry settings. If Auto-verify were triggered automatically, the hapless user would have to wait for all 100MB of the files to be re-copied or at least checked and/or all 1000 or so of registry settings to be checked before they regained control of their desktop. Because App Launcher cannot detect how big the distribution will be ahead of time and whether or not it is convenient for the verify to be run, the user is asked if they wish to verify. They're happy, and you're happy. (So we're happy too.)
Other things to read
- For more information see TID 10027944.
- As always, the Help file is a very handy resource for more information. Don't ignore it just because it's so easy to find.
Matt is currently a Senior Software Engineer and a Lead Engineer for the Novell Application Launcher (NAL) in the ZENworks product. Matt has been with Novell since 1989, starting with testing NetWare utilities for OS/2. His development career started with NetWare Lite (a.k.a. Personal NetWare) and Client Install. In 1995, he was part of the initial development team for NAL. He holds a patent for some of his work on NAL and has several others pending. For his work in the Novell Patent Program he received the 1998 Edison award, an award given to those who have made a significant contribution to developing Novell's patent portfolio. He enjoys programming, the space program, power tools, and construction.
Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com