Updated: January 21, 2005
Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2
You can use Windows unattended setup to install Message Queuing software by remotely using an answer file. It is recommended that this file be located either in the Message Queuing installation folder on the source computer from which you are running unattended setup or in the Windows system folder (typically C:\Windows) on the target computer on which you are installing Message Queuing.
For more information on unattended setup for Windows Server 2003 family, see Planning for unattended Setup in the Windows Help file.
During Message Queuing unattended setup, no text or dialog boxes are displayed. Errors are logged to the Msmqinst.log file located in the Windows system folder (typically C:\Windows) of the target computer.
Because the name of an online Message Queuing server is required for some installation types, it is easiest to create and run separate unattended setup scripts for computers in each Windows Server 2003 family or Windows 2000 site. You can use a single script file for multiple sites, but if you do so, you must create separate file entries for each computer that is not in the specified (default) site.
To run Message Queuing unattended setup, type the following command at the command prompt in the Windows system folder:
sysocmgr.exe /i:sysoc.inf /u: path and file name of answer file
Answer file entries
The answer file specifies various installation settings. The applicable settings for Message Queuing are described below.
Setup looks in the [Components] section to determine what to do for each of the Message Queuing subcomponents. In this section ON means to install the subcomponent, and OFF means to uninstall it, while the absence of an entry means that the state of the subcomponent will not be changed. The keys appearing in entries in this section are as follows:
An msmq_Core = ON entry calls for installation of the Core subcomponent, which performs the most fundamental setup operations: creates and sets registry keys, and provides dependent client functionality. It is mandatory if you want to install Message Queuing. To install a dependent client, you must specify a supporting server. The supporting server can be any Message Queuing server operating in domain mode with at least independent client functionality, preferably in the local site, but also in a nearby site. Specify its name using the SupportingServer key in the [msmq] section. No additional subcomponents can be installed on a dependent client. To perform an unattended uninstallation of Message Queuing software, include the entry msmq_Core = OFF. All message and log files are removed when Message Queuing is uninstalled. However, no Message Queuing files are removed from the \Windows\System32 and \Windows\System32\Drivers folders.
An msmq_LocalStorage = ON entry calls for installation of the Local Storage subcomponent, which installs the Message Queuing service and provides independent client functionality. This entry is mandatory if you are installing any additional subcomponent. Local Storage cannot be installed without the Core subcomponent. Thus, if you are installing Local Storage, there is no need to include an msmq_Core = ON entry. This subcomponent will be installed automatically. After the Local Storage subcomponent is installed, it cannot be removed without completely uninstalling Message Queuing.
The entry msmq_ADIntegrated = ON calls for installation of the Active Directory Integration subcomponent, which creates an msmq object and (if needed) an MSMQ Setting object in Active Directory and thereby provides integration with Active Directory whenever the computer belongs to a domain. If you want to use a specific pre-Windows 2000 domain controller, you must specify it using the ControllerServer key in the [msmq] section. Active Directory Integration cannot be installed without the Core and Local Storage subcomponents. Thus, if you are installing Active Directory Integration, there is no need to include msmq_Core = ON and msmq_LocalStorage = ON entries. The applicable subcomponents will be installed automatically.
You can include an msmq_ADIntegrated = ON entry if you are installing Message Queuing in a workgroup environment or any environment that does not have access to Active Directory. In this case, the ControllerServer entry is ignored and the computer will never attempt to connect to a domain controller to access Active Directory. Such a computer requires direct connectivity to other computers to send and receive messages. This entry is applicable only if you are installing a configuration with independent client functionality on a nondomain controller.
This key specifies whether the Message Queuing Triggers service will be installed. If you include an msmq_TriggersService = ON entry, it will be installed. Conversely, if you include an msmq_TriggersService = OFF entry, it will be removed. Setting this key equal to ON is equivalent to selecting the Triggers subcomponent during the installation of Message Queuing with independent client functionality. Thus, if you are installing Triggers, there is no need to include msmq_Core = ON and msmq_LocalStorage = ON entries. These subcomponents will be installed automatically.
This key specifies whether MSMQ HTTP Support, which installs Internet Information Services (IIS) and creates an IIS extension for Message Queuing (MSMQ), will be installed. If the answer file includes an msmq_HTTPSupport = ON entry, an IIS extension will be created. Conversely, if you include an msmq_HTTPSupport = OFF entry, the extension will be removed. MSMQ HTTP Support cannot be installed without the Core and Local Storage subcomponents. Thus, if you are installing MSMQ HTTP Support, there is no need to include msmq_Core = ON and msmq_LocalStorage = ON entries. The applicable subcomponents will be installed automatically.
The entry msmq_RoutingSupport = ON calls for installation of the Routing Support subcomponent, which creates an MSMQ Setting object in Active Directory and provides routing services. This key can be used only when you are installing Message Queuing on computers running on platforms from the Windows Server 2003 family. The Routing Support subcomponent can only be installed on computers that have access to Active Directory. Routing Support cannot be installed without the Core, Local Storage, and Active Directory Integration subcomponents. Thus, if you are installing Routing Support, there is no need to include msmq_Core = ON, msmq_LocalStorage = ON, and msmq_ADIntegrated = ON entries. The applicable subcomponents will be installed automatically. Routing Support can be uninstalled by including an msmq_RoutingSupport = OFF entry.
Include a msmq_MQDSService = ON entry if you need to install the Message Queuing directory service on a domain controller to provide access to Message Queuing objects in Active Directory for downlevel clients. Setting this key equal to ON is equivalent to selecting the Downlevel Client Support subcomponent during the installation of Message Queuing on a domain controller. This key is relevant only to platforms from the Windows Server 2003 family. To install Downlevel Client Support, Message Queuing must be integrated with Active Directory.
The keys appearing in entries in the [msmq] section are as follows:
This key specifies the NetBIOS or DNS name of the MSMQ 1.0 site controller hosting a Message Queuing server that the computer will try to contact during Setup. Specifying a Windows 2000 domain controller or a Windows Server 2003 domain controller will generate an error. This key is applicable only to an independent client or a routing server being installed on a domain computer and only when msmq_ADIntegrated is set equal to ON. It is optional, but if it is not included in the answer file, Setup will try to find a suitable domain controller automatically through AD.lib. If an entry is specified, unattended setup will use the entry and will not attempt to find the computer automatically. If it fails, however, unattended setup will not continue.
Do not include an entry with this key if you are installing Message Queuing on a domain controller.
This key is set equal to the NetBIOS or DNS name of a Message Queuing server that will be used to support the dependent client being installed. This entry is required when you are creating a dependent client.
A SupportLocalAccountsOrNT4 = TRUE entry provides support for computers running MSMQ 1.0 and computers running Message Queuing 2.0 that are logged on using a local user account. This entry enables weakened security for Active Directory on a domain controller, which is then replicated to all other domain controllers in every domain in your forest. Thus, it must be included only for the first instance of Message Queuing with Downlevel Client Support on a domain controller in your forest, and Downlevel Client Support must be installed on all domain controllers. Then, computers requiring this support will be able to query Active Directory and view the properties of Message Queuing objects. Otherwise, such computers will not be able to query Active Directory about Message Queuing objects. This key is optional, and if it is set to FALSE, weakened security is removed.
For the security implications of weakening Active Directory security, see Enabling weakened security.
Dependent clients cannot run under a local user account.
Any computer that sends queries about Message Queuing objects to Active Directory on a domain controller directly, rather than through the Message Queuing directory service, will not be able to access Active Directory when it logs on using a local user account even if weakened security for Active Directory is enabled.
Include a line with this key if you are installing a Message Queuing routing server. Setup may not be able to automatically resolve the proper site if subnets in your network are not configured correctly. In such a case, this entry becomes mandatory. Set the key equal to the name of the default Active Directory site containing the domain controller with which this server will communicate.
Sample answer file
You can use the following sample answer file as a template. Use a text editor to appropriately edit the entries.
Unattended setup ignores any file entries that begin with a semicolon (;). You can use these to place comments in your answer file.
[Version] Signature = "$Windows NT$" [Global] FreshMode = Custom MaintenanceMode = RemoveAll UpgradeMode = UpgradeOnly [Components] msmq_Core = ON | OFF msmq_LocalStorage = ON | OFF msmq_ADIntegrated = ON | OFF msmq_TriggersService = ON | OFF msmq_HTTPSupport = ON | OFF msmq_RoutingSupport = ON | OFF msmq_MQDSService = ON | OFF [Msmq] ControllerServer = MyDomainController SupportingServer = MyDomainControllerOrRoutingServer SupportLocalAccountsOrNT4 = FALSE | TRUE Site = DefaultFirstSiteName
Be sure to test your unattended setup script before deployment.