In July 1999, Microsoft released Systems Management Server (SMS) 2.0 Service Pack 1 (SP1), which includes SMS Installer 2.0.91.00. Administrators who use this software-repackaging tool for automating software installation on SMS clients will be pleased to learn that the newest version of SMS Installer has several enhancements.
CALL DLL FUNCTION
SMS Installer can perform most of the functions necessary to install software on client machines without user interaction, but sometimes even SMS Installer can't do the job alone. Earlier SMS Installer versions required administrators to write SMS Installer-specific information into the DLL source code. Microsoft has expanded SMS Installer's Call DLL function to call functions that have variable parameters that are unknown to SMS Installer so an administrator can interact with Windows APIs and other DLLs. This update expands SMS Installer's functionality tenfold.
COLOR-CODED SCRIPT EDITOR
Finding your way around a repackaged SMS Installer script can be difficult. SMS Installer's Script Editor now includes a color-coded user interface (UI) that simplifies recognizing branched logic and other items. By default, only logic items have color-coding. However, you can select the Options tab from the Installation Properties page to set colors for remarks, file copies and installations, compiler variable items, included scripts, and new-variable definitions (the new-variable definitions' color-coding works only in debug mode).
The updated SMS Installer includes support for complex expressions and operators, which lets administrators perform mathematical functions and advanced parsing when they use the Set Variable, Wizard Block, and If/While statement. In addition to standard mathematical functions, SMS Installer supports the advanced parsing items Left$, Right$, Mid$, Concat$, Instr, Before$, After$, Len, Lcase$, Ucase$, Ltrim$, and Rtrim$. The product's online Help provides examples for each of these expressions.
In the past, to troubleshoot a script, administrators needed to use a Display Message to stop the script and display the current state of variables. SMS Installer now includes a debugger. The debugger doesn't support the Test Mode, so any system modifications—even test modifications—will take place. Using the debugger, you can assign one or multiple break points within a script and let the script process until it reaches a break point. Alternatively, you can step through a script line-by-line. The debugging process replaces the Actions window with a window that displays the state of the variables. As you step through a script, you can see the changes to the variables taking place. At any time during the debugging process, you can double-click a variable from the Variables pane to change its value.
DELETED REGISTRY KEYS AND VALUES
Earlier SMS Installer versions frustrate administrators who attempt to update or uninstall software because the product can't detect deleted Registry keys or values during a repackage operation. Therefore, during the discovery process, administrators spend a lot of time determining which keys or values to delete and more time using Script Editor to delete them. SMS Installer can now detect deleted Registry keys and values.
Many software installations require administrators to use a sleep command that temporarily pauses the installation to provide another application or function time to complete its process before continuing with the next installation step. Administrators often use this function with external commands that call network or remote system functions.
Before the most recent SMS Installer release, administrators depended on the Microsoft Windows NT Server 4.0 Resource Kit or third-party utilities to provide sleep functionality. But Microsoft built the Sleep function into the new version of SMS Installer. You simply provide the number of milliseconds to wait so that another application can finish its task. The Sleep function is available for only true 32-bit compilations.
To help administrators track setup executable files, SMS Installer offers the capability to add header information to the compiled executable file. This header information is indispensable when managing multiple builds of an installation package. When compiling packages on NT, you can use this capability to set the file version, a description, and copyright information to track the setup executable files. You can also include the company name, internal name, language, original filename, product name, and product version.