The Windows Optional Component Setup program ocsetup.exe can be used to complete an unattended installation or uninstallation of Message Queuing (MSMQ) Server features. This topic describes how to use the Windows Optional Component Setup program to install or uninstall MSMQ features on various editions of Windows.
Note |
|---|
|
Unattended setup can also be performed on Windows Server® 2008 computers through the use of the servermanagercmd.exe utility. For more information about using servermanagercmd.exe to perform an unattended setup on Windows Server® 2008 computers, see the Windows online help |
Windows Optional Component setup program
Launch the Windows Optional Component Setup program ocsetup.exe from a command prompt and specify the appropriate switches and parameter arguments to install or uninstall MSMQ features. Ocsetup.exe accepts the following switches and parameters:
OCSETUP <component> [/uninstall] [/passive] [/unattendfile:<file>] [/quiet] [/norestart] [/log:<file>] [/x:<parameters>]
For more information about these switches and parameters, launch ocsetup.exe from a command prompt and specify the /? switch.
Use the command-line names in the table below as the argument for the <component> parameter for each MSMQ feature that you would like to install or uninstall. Separate multiple features to be installed or uninstalled with a semicolon. Note that these command line names are case sensitive. This table also lists which features are supported on various editions of Windows.
|
Feature name
|
Command-Line Name to use
|
Windows Vista Home Basic and Starter Editions
|
Windows Vista Home Premium Edition
|
Windows Vista Ultimate, Business and Enterprise Editions
|
Windows Server 2008
|
|---|
MSMQ Server | MSMQ-Server | Supported | Supported | Supported | Supported |
Directory Service Integration Note |
|---|
|
The Directory Service Integration feature requires that that computer is joined to a domain. |
| MSMQ-ADIntegration | Not Supported | Not Supported | Supported | Supported |
HTTP Support Note |
|---|
|
Because HTTP support is dependent upon Internet Information Services (IIS) and Windows Activation Services (WAS), these components must be installed before the HTTP Support feature can be enabled. To complete an unattended installation of IIS and WAS, run ocsetup with the /unattendfile switch and specify an xml file with the contents of the Unattend file for IIS and WAS listed below as the argument for the <file> parameter. |
| MSMQ-HTTP | Not Supported | Supported | Supported | Supported |
Message Queuing Triggers | MSMQ-Triggers | Supported | Supported | Supported | Supported |
Multicasting Support | MSMQ-Multicast | Supported | Supported | Supported | Supported |
Messaging Queue DCOM Proxy | MSMQ-DCOMProxy | Supported | Supported | Supported | Supported |
Routing Service Note |
|---|
|
Installation of this feature requires that the computer is a member of an Active Directory Domain Services domain. |
| MSMQ-RoutingServices | Not Supported | Not Supported | Not Supported | Supported |
Windows 2000 Client Support Note |
|---|
|
The Windows 2000 Client Support feature requires that the computer is a Domain Controller. |
| MSMQ-DownlevelClient | Not Supported | Not Supported | Not Supported | Supported |
When ocsetup is run on any version of Windows other than Windows Server 2008, precede the list of features that are to be installed with the MSMQ-Container parameter.
For example, to install the MSMQ Server and Message Queuing Triggers features on a Windows Vista Home Basic Edition computer, you could run ocsetup.exe from a command prompt and specify the following arguments:
ocsetup MSMQ-Container;MSMQ-Server;MSMQ-Triggers
Conversely, to uninstall MSMQ Server and Message Queuing Triggers features on a Windows Vista Home Basic Edition computer, you could run ocsetup.exe from a command prompt and specify the following parameters with the /uninstall switch:
ocsetup MSMQ-Container;MSMQ-Server;MSMQ-Triggers /uninstall
Using unattend files with ocsetup
Ocsetup accepts a <file> parameter in conjunction with the use of the /unattendfile switch. For example, to run ocsetup with the unattend file C:\MSMQUnattend.xml, you would enter the following at a command prompt:
ocsetup MSMQ-Server /unattendfile:"C:\MSMQUnattend.xml"
The designated unattend file specifies assembly information, the name of one or more features to be installed, and must specify a value of "true" for the state option for each feature that is being installed. Unattend files can only be used to install features, uninstallation of features with an unattend file is not currently supported.
The processorArchitecture and version attributes of the assemblyIdentity element of the unattend file must be set to the appropriate values for the operating system on which the unattend file is being processed.
-
The processorArchitecture attribute must be set to a value of "x86", "AMD64", or "IA64", as appropriate for the installed operating system. For example this attribute should be set to a value of "x86" if an x86 operating system is installed, regardless of the "bitness" of the underlying hardware (32 bit vs. 64 bit).
-
The version attribute must be set to the same value as the version of the corresponding ".mum" file located in the %systemroot%\servicing\packages\ directory of the computer.
For example, given the existence of the following MSMQ Client MUM file on the target computer:
Microsoft-Windows-MSMQ-Client-Package~31bf3856ad364e35~x86~~6.0.5722.0.mum
The version attribute of the assemblyIdentity element of the unattend file would be set to a value of 6.0.5722.0.
Before running ocsetup with an unattend file, ensure that any features listed in the unattend file are supported for the edition of Windows on which you are running ocsetup or the unattended setup will fail. For example, if you attempt to run ocsetup with an unattend file on Windows Vista Home Basic Edition and the unattend file listed the MSMQ-HTTP feature then the unattended setup would fail because Windows Vista Home Basic Edition does not accommodate MSMQ HTTP support. This failure will occur regardless of the value provided for the state of the feature in the unattend file, so even if a value of "false" is provided as the state of an unavailable feature, the unattended setup would not complete successfully.
When using an unattend file with any version of Windows other than Windows Server 2008, precede the list of features in the unattend file with the MSMQ-Container parameter, for example:
<selection name="MSMQ-Container" state="true"/>
Sample unattend files
The following unattend file samples illustrate how you might create an unattend file for the Windows Vista Editions, Windows Server 2008 Editions, and provide an example of an unattend file to install Internet Information Services (IIS) and Windows Activation Services (WAS).
Unattend file for Windows Vista Home Basic and Starter Editions
This unattend file could be used with Windows Vista Home Basic and Starter Editions. Note the inclusion of the MSMQ-Container parameter in this unattend file:
<?xml version="1.0"?>
<unattend>
<servicing>
<package action="configure">
<assemblyIdentity name="Microsoft-Windows-Foundation-Package" version="6.0.5722.0" language="neutral" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS"/>
<selection name="MSMQ-Container" state="true"/>
<selection name="MSMQ-Server" state="true"/>
<selection name="MSMQ-Triggers" state="true"/>
<selection name="MSMQ-Multicast" state="true"/>
<selection name="MSMQ-DCOMProxy" state="true"/>
</package>
</servicing>
</unattend>
Unattend file for Windows Vista Home Premium Edition
This unattend file could be used with Windows Vista Home Premium Edition. Note the inclusion of the MSMQ-Container parameter in this unattend file:
<?xml version="1.0"?>
<unattend>
<servicing>
<package action="configure">
<assemblyIdentity name="Microsoft-Windows-Foundation-Package" version="6.0.5722.0" language="neutral" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS"/>
<selection name="MSMQ-Container" state="true"/>
<selection name="MSMQ-Server" state="true"/>
<selection name="MSMQ-HTTP" state="true"/>
<selection name="MSMQ-Triggers" state="true"/>
<selection name="MSMQ-Multicast" state="true"/>
<selection name="MSMQ-DCOMProxy" state="true"/>
</package>
</servicing>
</unattend>
Unattend file for Windows Vista Ultimate, Business, and Enterprise Editions
This unattend file could be used with Windows Vista Ultimate, Business, and Enterprise Editions. Note the inclusion of the MSMQ-Container parameter in this unattend file:
<?xml version="1.0"?>
<unattend>
<servicing>
<package action="configure">
<assemblyIdentity name="Microsoft-Windows-Foundation-Package" version="6.0.5722.0" language="neutral" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS"/>
<selection name="MSMQ-Container" state="true"/>
<selection name="MSMQ-Server" state="true"/>
<selection name="MSMQ-ADIntegration" state="true"/>
<selection name="MSMQ-HTTP" state="true"/>
<selection name="MSMQ-Triggers" state="true"/>
<selection name="MSMQ-Multicast" state="true"/>
<selection name="MSMQ-DCOMProxy" state="true"/>
</package>
</servicing>
</unattend>
Unattend file for Windows Server 2008 Editions
This unattend file could be used with Windows Server 2008 Editions. Note the absence of the MSMQ-Container parameter in this unattend file. Unattend files that are used with Windows Server 2008 Editions should not specify the MSMQ-Container parameter as the presence of this parameter will cause installation to fail.
<?xml version="1.0"?>
<unattend>
<servicing>
<package action="configure">
<assemblyIdentity name="Microsoft-Windows-Foundation-Package" version="6.0.5722.0" language="neutral" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS"/>
<selection name="MSMQ-Server" state="true"/>
<selection name="MSMQ-ADIntegration" state="true"/>
<selection name="MSMQ-HTTP" state="true"/>
<selection name="MSMQ-Triggers" state="true"/>
<selection name="MSMQ-Multicast" state="true"/>
<selection name="MSMQ-DCOMProxy" state="true"/>
<selection name="MSMQ-RoutingServices" state="true"/>
<selection name="MSMQ-DownlevelClient" state="true"/>
</package>
</servicing>
</unattend>
Unattend file for IIS and WAS
Use this unattend file to install Internet Information Services (IIS) and Windows Activation Services (WAS) on versions of Windows that support IIS and WAS. IIS and WAS must be installed in order to enable MSMQ HTTP support on editions of Windows that provide MSMQ HTTP support for Message Queuing.
<?xml version="1.0"?>
<unattend>
<servicing>
<package action="configure">
<assemblyIdentity name="Microsoft-Windows-Foundation-Package" version="6.0.5722.0" language="neutral" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS"/>
<selection name="WAS-WindowsActivationService" state="true"/>
<selection name="WAS-ProcessModel" state="true"/>
<selection name="WAS-NetFxEnvironment" state="true"/>
<selection name="WAS-ConfigurationAPI" state="true"/>
<selection name="IIS-WebServerRole" state="true"/>
<selection name="IIS-WebServer" state="true"/>
<selection name="IIS-CommonHttpFeatures" state="true"/>
<selection name="IIS-ApplicationDevelopment" state="true"/>
<selection name="IIS-HealthAndDiagnostics" state="true"/>
<selection name="IIS-Performance" state="true"/>
<selection name="IIS-WebServerManagementTools" state="true"/>
<selection name="IIS-IIS6ManagementCompatibility" state="true"/>
<selection name="IIS-StaticContent" state="true"/>
<selection name="IIS-DefaultDocument" state="true"/>
<selection name="IIS-DirectoryBrowsing" state="true"/>
<selection name="IIS-HttpErrors" state="true"/>
<selection name="IIS-HttpRedirect" state="true"/>
<selection name="IIS-RequestFiltering" state="true"/>
<selection name="IIS-NetFxExtensibility" state="true"/>
<selection name="IIS-HttpLogging" state="true"/>
<selection name="IIS-LoggingLibraries" state="true"/>
<selection name="IIS-RequestMonitor" state="true"/>
<selection name="IIS-HttpTracing" state="true"/>
<selection name="IIS-HttpCompressionStatic" state="true"/>
<selection name="IIS-ManagementConsole" state="true"/>
<selection name="IIS-ISAPIExtensions" state="true"/>
<selection name="IIS-Metabase" state="true"/>
</package>
</servicing>
</unattend>