Launching an application from the SMS console requires adding data about the application under the SMS key in the Windows NT Registry. The registered data defines the characteristics of the new application by specifying the command description, command name, command-line parameters, and so on.
SMS supports ISV application launching for several contexts. Applications registered in the General context are always available from the Tools menu, regardless of the current context. Applications registered in a specific context are only available when that context is active (that is, when the MDI window corresponding to that context is active). You can register an application in more than one context.
Context-specific ISV applications store Boolean rules in the Registry that SMS evaluates to determine whether their menu items should be present, and if so, whether they should be enabled or disabled. For example, menu items for SMSMachine-context ISV applications may be disabled if the machine whose Machine Property window is currently active does not meet the criteria specified by the ISV.
Registered applications are displayed in the Tools menu in the SMS Administrator console. When chosen, the Tools menu displays the names of ISV applications that apply to the General context, followed by a separator, then followed by the names of the ISV applications that apply to the current context. If there are no context-specific applications installed, SMS does not display the separator. The menu items are listed in the order indicated by each application's Order Registry value, which SMS determines during initialization.
When the user selects an ISV application from the Tools menu, SMS forms a command line from the application's information in the Windows NT Registry and passes the command line to the underlying operating system for execution. If SMS cannot construct the command line, a message box describing the problem appears and the launch fails. SMS may fail to build a command line if it cannot resolve the environment variable or the SMS database information specified in the Registry by the ISV.
If the application targeted by the command line fails to execute for any reason, SMS displays the error in a message box that contains information that allows the user to determine the cause of the failure.