Article ID: 185902 - View products that this article applies to.
This article was previously published under Q185902
When Windows NT environment variables (such as %SystemRoot%) are added to the registry during a repackage, they are captured by a repackage process, but the resulting script does not write the correct value(s) to the registry on the client during the Systems Management Server Installer installation routine.
Systems Management Server Installer uses the syntax %VARIABLENAME% to denote internal script variable values. For example, if the Installer variable USER is set to a value of 'John Smith', using the %USER% syntax would cause 'John Smith' to be substituted wherever %USER% appeared.
Windows NT utilizes the same syntax to denote the value of environment variables. When the Systems Management Server Installer run-time encounters the value %SystemRoot% in an Edit Registry script item, it interprets this as the Installer variable value for %SystemRoot%, rather than the Windows NT environment variable value. Usually the Installer does not have a specific value defined for this, so nothing is actually written to the registry.
Using %SystemRoot% as an example, you would change the string %SystemRoot% to %%SystemRoot%% wherever it exists in the Installer script. This causes the literal value %SystemRoot% to be written to the system, which allows the environment variable to be resolved correctly.
Microsoft has confirmed this to be a problem in Microsoft Systems Management Server Installer version 1.0. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.