Search This Blog

Thursday, March 11, 2010

OCSetup Command-Line Options

OCSetup is available as part of the Windows Vista® and Windows Server® 2008 operating system. This tool replaces Sysocmgr.exe, which is included in the Windows XP and Windows Server 2003 operating systems.
You can use OCSetup.exe on a computer running Windows Vista or Windows Server 2008 to install or uninstall:
  • Microsoft System Installer (MSI) files that are passed to the Windows Installer service (MSIExec.exe)
  • Component-Based Servicing (CBS) components that are passed to Package Manager
  • CBS or MSI packages that have an associated custom installer .exe file
To use OCSetup and Package Manager, the system MSIs must be staged before they are installed, and the paths to the packages must be specified in an answer file.
Before running OCSetup at a command prompt, set the command prompt to run as an administrator (even if you are logged on as an administrator on the computer).
  1. Click Start, point to All Programs, and then click Accessories.
  2. Right-click Command Prompt, and then click Run as administrator.
The following command-line options are available for OCSetup.
ocsetup.exe [/?] [/h] [/help] component [/log:file] [/norestart] [/passive] [/quiet] [/unattendfile:file] [/uninstall] [/x: parameter]
The following table shows the syntax for the OCSetup command-line options.

 

Parameter
Description
/?, /h, /help Displays help for all options when run with or without options.
component The name of the component to be installed or uninstalled. The component name is case-sensitive.
/log:file Specifies a non-default log file location.
/norestart The computer is not rebooted even if required after component installation.
/passive Unattended mode. Progress only.
/quiet Quiet mode. No user interaction.
/unattendfile:file The file contains overrides or additions to default configuration settings. Implies passive mode.
/uninstall Uninstalls the component. Installation is default.
/x: parameter Additional configuration parameters to be applied when installing a component that requires a custom installer. OCSetup will pass these parameters to the custom installer.
To determine if a component has a custom installer, review the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OptionalComponents\componentName
The value of CustomSetup is the name of the custom installer. If the CustomSetup value is supplied, OCSetup defers to the indicated EXE to perform the installation of the package. The EXE is expected to conform to the same command line specification as OCSetup.exe, and must return the same exit codes.
noteNote
This registry key will not exist in Windows Vista if system MSI files are not installed. In addition, this registry key will not exist if you have not registered the packages that require a custom installer and have not defined the custom installer.
If you are installing or uninstalling a package that requires a custom installer, you must register the name of the package. When you register the name of the package, you also identify the type of package (CBS or MSI), any updates that have been applied, and the name of the custom installer .exe file.
To register a package that requires a custom installer, edit the following registry key.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OCSetup\Components\ComponentName
Add the following values under this key:

 

Value
Type
Data
Type REG_DWORD Type of package
0 - CBS
1 - MSI
Component REG_SZ The name of the CBS update or the path to the MSI.
PatchFiles REG_MULTI_SZ (Optional) Path to the MSI update file.
CustomSetup REG_SZ (Optional) Path to the custom installer .exe file.
The custom installer is expected to conform to the same command line specification as OCSetup.exe, and must return the same exit codes.
If you are configuring Windows features without using an answer file that was created in Windows System Image Manager (Windows SIM), use the command-line name in the Windows-Foundation-Package section of the Unattended Windows Setup Reference. The name is case-sensitive.

Examples

The following table gives examples of using OCSetup to establish server roles that have no dependencies.

 

Server Role
Command
Dynamic Host Configuration Protocol (DHCP) Server
start /w ocsetup DHCPServer
Domain Name System (DNS) Server
start /w ocsetup DNS-Server-Full-Role
Windows Deployment Services (Windows DS)
start /w ocsetup Microsoft-Windows-Deployment-Services
The following table gives examples of using OCSetup to enable Windows features available in server editions.

 

Windows Feature
Command
Desktop Experience
start /w ocsetup DesktopExperience
Failover Clustering
start /w ocsetup FailoverCluster-FullServer
Windows Server Backup
start /w ocsetup WindowsServerBackup

Troubleshooting

To verify that a component is installed, do one of the following:
  • Verify in the Event Viewer that OCSetup raised the event OCSETUP_EVENT_INSTALLSUCCESS.
  • If you are enabling a Windows feature, in Control Panel, click Programs, under Programs and Features, click Turn Windows features on or off, and then confirm that the check box for the Windows feature is selected.
To verify that a component was removed, do one of the following:
  • Verify in the Event Viewer that OCSetup raised the event OCSETUP_EVENT_UNINSTALLSUCCESS.
  • If you are disabling a Windows feature, in Control Panel, click Programs, and then, under Programs and Features, click Turn Windows features on or off. Make sure the check box for the Windows feature is cleared.
Additional troubleshooting information can be found in the following log files:
  • Windows Update log (%WINDIR%\WindowsUpdate.log)
  • Component-Based Servicing Log (%WINDIR%\logs\cbs\cbs.log)

Updated list of ocsetup-able components for Longhorn Server Core

All of these are installable by executing *ocsetup* and if you forget the exact syntax, you can always execute *oclist* . Only exception right now is installing Active Directory, which you will want to use *dcpromo* with an unattended file.
BitLocker
BitLocker-RemoteAdminTool
ClientForNFS-Base
DFSN-Server
DFSR-Infrastructure-ServerEdition
DHCPServerCore
DirectoryServices-ADAM-ServerCore
DirectoryServices-DomainController-ServerFoundation
DNS-Server-Core-Role
FailoverCluster-Core
FRS-Infrastructure
Microsoft-Windows-RemovableStorageManagementCore
MultipathIo
NetworkLoadBalancingHeadlessServer
Printing-ServerCore-Role
Printing-LPDPrintService
QWAVE
ServerForNFS-Base
SIS
SNMP-SC
SUACore
TelnetClient
WindowsServerBackup
WINS-SC

I'll be curious to see just how many roles and features will end up being available at RTM for Core.

No comments:

Post a Comment

Followers