This article was previously published under Q185902
This article has been archived. It is offered "as is" and will no longer be updated.
When Windows NT environment variables (such as %SystemRoot%) are added tothe registry during a repackage, they are captured by a repackage process,but the resulting script does not write the correct value(s) to theregistry on the client during the Systems Management Server Installerinstallation routine.
Systems Management Server Installer uses the syntax %VARIABLENAME% todenote internal script variable values. For example, if the Installervariable USER is set to a value of 'John Smith', using the %USER% syntaxwould cause 'John Smith' to be substituted wherever %USER% appeared.
Windows NT utilizes the same syntax to denote the value of environmentvariables. When the Systems Management Server Installer run-time encountersthe value %SystemRoot% in an Edit Registry script item, it interprets thisas the Installer variable value for %SystemRoot%, rather than the WindowsNT environment variable value. Usually the Installer does not have aspecific value defined for this, so nothing is actually written to theregistry.
Using %SystemRoot% as an example, you would change the string %SystemRoot%to %%SystemRoot%% wherever it exists in the Installer script. This causesthe literal value %SystemRoot% to be written to the system, which allowsthe environment variable to be resolved correctly.
Microsoft has confirmed this to be a problem in Microsoft SystemsManagement Server Installer version 1.0. We are researching this problemand will post new information here in the Microsoft Knowledge Base as itbecomes available.