Using Advanced Client Installer
This section describes using Ccmsetup.exe to invoke the Advanced Client Installer. The Advanced Client Installer works in the background in all Advanced Client installations, regardless of the SMS deployment method that you use.
Ccmsetup.exe is in the Client\i386 folder of the SMS_<site code> shared folder on the SMS site server. It is also available on the SMS 2003 product CD in the SMSSetup\Client\i386 folder. To enable users to run it from other locations, such as domain controllers, you can copy it to those locations. However, if you install a future version of SMS, such as a service pack, that includes an updated version of Ccmsetup.exe, you must update the copies of the Ccmsetup.exe file that you put in these other locations. For more information, see the "Initiating a Program File at the Client" section later in this chapter.
Ccmsetup.exe uses command-line options to modify its behavior, and then calls the Client.msi program, in which specified installation properties are used to complete the client installation. You can run the Ccmsetup.exe without any command-line options. If you do, you must ensure that there is a copy of Client.msi in the same folder with Ccmsetup.exe. Client.msi is in the SMSClient\i386 shared folder on management points or in the Client\i386 folder in the SMS_<site code> shared folder on the SMS site server. It is also available on the SMS 2003 CD in the SMSSetup\Client\i386 folder.
When a user is logged on to the client computer, the Advanced Client Installer pulls files (including Client.msi and any language-specific files and folders) down to the computer before it initiates the SMS client software installation, and stores the files in the %Windir%\System32\ccmsetup folder. It then sets up as a Windows service that installs the Advanced Client. Administrators can modify this default behavior by using the command-line options and installation properties that are described here to modify Advanced Client Installer options. By default, the Advanced Client is installed to the %Windir%\System32\CCM folder.
Ccmsetup.exe command-line syntax is as follows:
Ccmsetup.exe <command-line options> <installation properties>
Command-line Options
Command-line options for Ccmsetup.exe are identified by a forward slash (/). The switches described here are used alone or in combination on the command line following
Ccmsetup.exe
. These options modify Advanced Client Installer behavior.
/source:
Provides a local or remote location where Ccmsetup.exe locates Client.msi and any language-specific files or folders, such as Client.mst. You can specify this switch multiple times to provide more than one possible installation source. The syntax for this switch is:
Ccmsetup.exe /source:<folder>
For example,
Ccmsetup.exe /source:<folder> SMSSITECODE=AUTO
Note:
- For more information about the SMSSITECODE installation property, see the "Installation Properties" section later in this chapter.
/mp
Provides a management point as an installation source. This source is added to the source list as \\<server>\SMSclient\i386. You can specify this switch multiple times to provide more than one management point. The syntax for this switch is:
Ccmsetup.exe /mp:<server>
For example,
Ccmsetup.exe /mp:<server> SMSSITECODE=AUTO
/useronly
Forces Ccmsetup.exe to run in the logged-on user's security context. Be careful when using this option. If the user does not have administrative credentials, the operation will fail.
Ccmsetup.exe /useronly SMSSITECODE=AUTO
/service
Forces Ccmsetup.exe to run in the local system account context. The Client.msi file download and the client installation are both performed in the local system context. Use this option only when you are using Active Directory and the client computer account has access to the SMSClient\i386 shared folder on the management point. If the user does not have administrative credentials, the operation will fail.
Ccmsetup.exe /service SMSSITECODE=AUTO
Installation Properties
The properties described here are used alone or in combination following any command-line options that are specified after
Ccmsetup.exe
on the command line. These properties modify Client.msi behavior. Installation properties for Ccmsetup.exe do not use a forward slash (/).
Note:
- You can also specify these installation properties on the Advanced Client tab in the Client Push Installation Properties dialog box in the SMS Administrator console. For more information, see the "Configuring Client Push Installation" section later in this chapter.
CCMINSTALLDIR Identifies the folder where the Advanced Client files are installed. If this property is not set, then the client software is installed in the %Windir%\System32\CCM folder.
Ccmsetup.exe CCMINSTALLDIR=<installation folder>
CCMADMINS Allows SMS administrators to specify one or more user or group accounts to grant the same Advanced Client settings and policy access as those in the local Administrators group. The syntax for this installation property is:
Ccmsetup.exe CCMADMINS="<
account
>[;<
account
>[...]]
"
where account is a user or group account in the format domain\name.
Ccmsetup.exe CCMADMINS="MyDomain\SMS Admins;MyDomain\JohnDoe"
When you are specifying a single account, the quotation marks are optional. For multiple accounts, they are required. If you do not use quotation marks for multiple accounts, the first account is the only account applied.
CCMALLOWSILENTREBOOT If this property is set to 1 and a reboot is required to complete the Advanced Client installation, the computer is rebooted, even if a user is currently logged on.
Ccmsetup.exe CCMALLOWSILENTREBOOT=1
CCMDEBUGLOGGING Enables debug logging. Values can be 0 (off) or 1 (on). The default value is 0. This causes the client to log low-level information that might be useful for troubleshooting client problems. Use this command-line switch only in your test lab environment. As a best practice, avoid using this property in production deployments because excessive logging can occur. This must be used with CCMENABLELOGGING.
Ccmsetup.exe CCMDEBUGLOGGING=1 CCMENABLELOGGING=TRUE
CCMENABLELOGGING Enables logging if this property is set to TRUE. By default, logging is disabled. The log files are stored in the Logs folder in the Advanced Client installation folder. By default, this folder is %Windir%\System32\CCM\Logs.
Ccmsetup.exe CCMENABLELOGGING=TRUE
CCMLOGLEVEL Identifies the logging level. Specify an integer ranging from 0 to 3, where 0 is the most verbose logging, and 3 logs only errors. The default is 1.
Set logging level to 0 (verbose mode) to provide messages that allow component operations to be traced:
Ccmsetup.exe CCMLOGLEVEL=0
Set logging level to 1 to log only informational, warning, and error messages:
Ccmsetup.exe CCMLOGLEVEL=1
Set logging level to 2 to log only warning and error messages:
Ccmsetup.exe CCMLOGLEVEL=2
Set logging level to 3 to log only error messages:
Ccmsetup.exe CCMLOGLEVEL=3
CCMLOGMAXHISTORY Specifies maximum number of previous versions of the log file to keep. If this property is set to 0, no history is kept. The default is 1. For example, to keep one version of the log file:
Ccmsetup.exe CCMLOGMAXHISTORY=1
CCMLOGMAXSIZE Specifies the maximum log file size in bytes. When a log grows to the size that is specified, it is renamed as a history file, and a new file is created. This property must be at least 10000. The default value is 250000. For example, to allow for a maximum log file size of 20,000 bytes before the file is renamed as a history file and a new file is created:
Ccmsetup.exe CCMLOGMAXSIZE=20000
DISABLESITEOPT Disables the ability of end users with administrative credentials on the client computer to change the Advanced Client's assigned site using the Systems Management icon in Control Panel.
Ccmsetup.exe DISABLESITEOPT=TRUE
DISABLECACHEOPT Disables the ability of end users with administrative credentials on the client computer to change the cache settings for the Advanced Client by using the Systems Management icon in Control Panel when it is set to TRUE.
Ccmsetup.exe DISABLECACHEOPT=TRUE
SMSCACHEDIR Specifies the Advanced Client cache used to store packages that are downloaded before they are run. This can be a relative or absolute path. If the path that is specified does not contain a specific drive letter, the cache is installed on the disk that is identified by SMSCACHEFLAGS. If the path contains a specific drive letter, the drive identification flag in SMSCACHEFLAGS is ignored. Do not use a backslash (\) at the beginning of the path when you are specifying a relative path. If this property is set to C:\temp, for example, the cache is created as C:\temp\CCMcache. If this property is not set, the cache is installed to a folder named Cache in the folder where the Advanced Client is installed. By default, this folder is %Windir%\System32\CCM\Cache. The syntax for this property is:
Ccmsetup.exe SMSCACHEDIR=
"<folder path> "
For example, to create the cache as C:\temp\CCMcache
Ccmsetup.exe SMSCACHEDIR="C:\temp"
To create the cache on the largest disk:
Ccmsetup.exe SMSCACHEDIR=Cache SMSCACHEFLAGS=MAXDRIVE
Note:
- Use quotation marks around folder paths that contain spaces. If folder paths do not contain spaces, quotation marks are optional.
SMSCACHESIZE Specifies cache size in MB or as a percentage. If this property is not set, the cache defaults to a maximum size of 250 MB. If a new package that must be downloaded would cause the cache to exceed the maximum cache size, and the cache cannot be purged to make sufficient space available, then the package download fails and the advertised program does not run.
Ccmsetup.exe SMSCACHESIZE=50
SMSCACHEFLAGS Allows control of the SMS cache. You can use SMSCACHEFLAGS properties individually or in combination, separated by semicolons. If this property is not specified, the cache is installed according to the SMSCACHEDIR property, the cache is not compressed, and the SMSCACHESIZE value is used as the size in MB of the cache.
Use PERCENTDISKSPACE to specify cache size as a percentage of disk space. If this flag is set, then the SMSCACHESIZE property must be expressed in a percentage value for the SMS cache. You cannot use this flag with the PERCENTFREEDISKSPACE flag.
Ccmsetup.exe SMSCACHEFLAGS=PERCENTDISKSPACE
Use the PERCENTFREEDISKSPACE flag when SMSCACHESIZE is a percentage of free disk space, calculated when the cache is created. For example, if 10 MB is free on the disk, and the SMSCACHESIZE value is 50, then the cache is set to 5 MB. You cannot use this flag with the PERCENTDISKSPACE flag.
Ccmsetup.exe SMSCACHEFLAGS=PERCENTFREEDISKSPACE
Use MAXDRIVE to install the cache on the largest disk. This value is valid only if a relative path for the folder is specified using the SMSCACHEDIR property. You cannot use this flag with the MAXDRIVESPACE flag.
Ccmsetup.exe SMSCACHEFLAGS=MAXDRIVE;SMSCACHEDIR="<folder path>"
Use MAXDRIVESPACE to use the drive with maximum free space for the cache. This value is valid only if a relative path for the folder is specified by using the SMSCACHEDIR property.
Ccmsetup.exe SMSCACHEFLAGS=MAXDRIVESPACE; SMSCACHEDIR="<folder path>"
Use NTFSONLY to use only disks that are formatted with the NTFS file system for the location of the cache. This value is valid only if a relative path for the folder is specified by using the SMSCACHEDIR property. Use this flag with MAXDRIVESPACE or MAXDRIVE.
Ccmsetup.exe SMSCACHEFLAGS=NTSFONLY; SMSCACHEDIR="<folder path>"
Use COMPRESS to compress contents of the cache.
Ccmsetup.exe SMSCACHEFLAGS=COMPRESS
Use FAILIFNOSPACE to remove the client software if the disk does not have enough space for the cache as specified in SMSCACHESIZE. The installation is completed even if there is insufficient disk space for the cache.
Ccmsetup.exe SMSCACHEFLAGS=FAILIFNOSPACE
SMSCONFIGSOURCE Specifies where and in what order the Advanced Client Installer checks for configuration settings. The property is a string containing one or more characters, each defining a specific configuration source. Use the character values R, P, M, and U, alone or in combination, as shown in the examples below. By default, the client installation uses PU to check first the installation properties and then the existing settings.
Use R to instruct the client installation program to check for configuration settings in the registry:
Ccmsetup.exe SMSCONFIGSOURCE=R
Use P to instruct the client installation program to check for configuration settings in the installation properties provided on the command line:
Ccmsetup.exe SMSCONFIGSOURCE=P
Use M to instruct the client installation program to check for configuration settings when you are replacing an existing SMS 2.0 client or Legacy Client with the Advanced Client (uses the existing site code):
Ccmsetup.exe SMSCONFIGSOURCE=M
Important:
- Do not use the M value on SMSCONFIGSOURCE if you are upgrading any SMS 2.0 or SMS 2003 Legacy Clients that are currently assigned to an SMS 2.0 secondary site. These clients will become orphaned because Advanced Clients cannot be assigned to secondary sites.
Use U to upgrade the Advanced Client to a newer version of the Advanced Client (uses the assigned site code):
Ccmsetup.exe SMSCONFIGSOURCE=U
To use multiple configuration sources, specify multiple characters. For example, use RP to force the client installation program to first check for configuration options in the registry and then check the installation properties on the command line:
Ccmsetup.exe SMSCONFIGSOURCE=RP
When you are installing Advanced Clients, specify the SMSCONFIGSOURCE property with the options in the order that is most appropriate for your deployment plan so clients have the maximum opportunity to find a suitable site code and client type. For example, you might use PUM so that if the installation is an upgrade from the Legacy Client or an older version of the Advanced Client, the existing site code is used. However, the administrator can still override the existing site code on the command line by using the SMSSITECODE property. See the Important: note about the M value, earlier in this section, before you use this property during a client upgrade.
SMSNOWINSLOOKUP Controls failover from Active Directory to WINS. If the property is set to TRUE, the Advanced Client does not fail over from Active Directory to WINS to look up the resident management point. If missing or set to FALSE, the client fails over from Active Directory to WINS.
Ccmsetup.exe SMSNOWINSLOOKUP=TRUE
SMSPREFERREDCLIENT Functions the same as the PREFERREDCLIENT registry entry, except that only the REMOTE and ANY values are valid. If the property is set to ANY, Advanced Client installation proceeds only if the Legacy Client is not installed.
Ccmsetup.exe SMSPREFERREDCLIENT=ANY
SMSSITECODE Specifies the SMS site to assign the Advanced Client to. This can either be a three-character SMS site code or the word AUTO. If AUTO is specified, the Advanced Client attempts to determine its SMS site assignment by using Active Directory or server locator points.
Ccmsetup.exe SMSSITECODE=AUTO
Important:
- If you do not set the SMSSITECODE property (to either AUTO or a three-character SMS site code) when you run Ccmsetup.exe, the client software is installed, but the client is not assigned to an SMS site. In this state, the client is installed, but it is not functional and is considered dormant.
Command examples
The commands in this section demonstrate various options for installing the Advanced Client.
The following command installs the Advanced Client by using default values for command-line options. If an SMS site code is not entered, the client is installed, but it is not assigned to a site. The Advanced Client components do not log their activities. The cache is a folder called Cache under the folder where the Advanced Client is installed. It is not compressed, and its maximum size is 250 MB.
Ccmsetup.exe
The following command is the same as the previous example, but the client is assigned to SMS site XYZ. Logging of the Advanced Client activities is enabled, and the logging level is set to verbose.
Ccmsetup.exe SMSSITECODE=XYZ CCMENABLELOGGING=TRUE CCMLOGLEVEL=0
The following command is the same as the first example, except that Ccmsetup.exe looks in the Windows registry for the SMS site code. The registry might also indicate that only the Legacy Client or no client is to be installed on this computer, in which case Ccmsetup.exe does not install the Advanced Client. If the Advanced Client is to be installed, but the site code registry value is not found, the SMS Advanced Client Setup Wizard is displayed.
Ccmsetup.exe SMSCONFIGSOURCE=R
The following command is the same as the first example except that the cache is created in a folder named \<installation folder>\Cache on the NTFS file system disk with the most free space. The maximum cache size is 50 percent of the available free space on that disk.
Ccmsetup.exe SMSCACHEFLAGS=NTFSONLY;
COMPRESS;MAXDRIVESPACE;
PERCENTFREEDISKSPACE SMSCACHEDIR="
\<installation folder>\Cache" SMSCACHESIZE=50
For More Information
Did you find this information useful? Please send your suggestions and comments about the documentation to smsdocs@microsoft.com.