In this blog post I will be discussing on difference between ccmsetup.exe vs client.msi. CCMSetup.exe is used to install the Configuration Manager client which calls client.msi to do the installation. CCMSetup.exe uses client installation parameters to install the client when you are trying to install the client manually.

CCMSetup.exe

CCMSetup.exe uses slash “/” parameter to run the command. CCMSetup.exe also uses client.msi properties, however the parameters doesn’t use slash parameter. In nutshell following is the parameter to be used with CCMSetup.

CCMSetup.exe [<Ccmsetup parameters>] [<client.msi setup properties>]
DiffBetweenccmsetupvsclient 01

This might looks confusing, but to clarify further, we are going to install SCCM client manually, we have to use ccmsetup.exe with parameters, we cannot directly use client.msi which can only be used for client push Installation properties on SCCM Console or for task sequence “Setup Windows and Configuration manager” with installation properties.

If you run ccmsetup.exe /? In command prompt, you can see the parameters which we can use.

Few of the CCMSetup parameters are /source, /mp, /forceinstall etc.
/source is used to specify location of source path of configuration manager installation files.

Client.msi has different parameters such as SMSSITECODE, SMSCACHESIZE, CCMLOGMAXSIZE, SMSCACHEDIR etc

Following is one of the example we can use for manual install:

ccmsetup.exe /mp:SCCM01.MANBAN.COM SMSSITECODE=AUTO SMSCACHESIZE=10000

Where:
ccmsetup.exe parameter is /mp
client.msi parameter is SMSSITECODE & SMSCACHESIZE
/mp is used to specify the management point to request the downloading content from distribution points. This will only use MP info to download the content, not for assigning it to management point
SMSSITECODE is used to assign client to management point, we can use AUTO or 3 digit of your MP Code.
SMSCACHESIZE is used to specify cache size in MB’s. In this case we are specifying 10GB, default value is 5GB.

Client.msi

Client.msi parameters never uses slash (/) parameters. It starts with SMSSITECODE, SMSCACHESIZE etc. We can specify these parameters:

  1. When installing client manually using ccmsetup.exe. As we have discussed previously, ccmsetup.exe parameters using /parameters + client.msi parameters to install the client.
  1. Use client.msi parameters in Client Push Installation Properties.
DiffBetweenccmsetupvsclient 02
  1. User Client.msi parameter in Task Sequence step Setup Windows and Configuration Manager installation properties.
    Edit your OSD task sequence, navigate to the above mentioned step and provide the installation properties, such as:
    SMSCACHESIZE=10000 CCMLOGMAXHISTORY=3 CCMLOGMAXSIZE=5000000
    Where cache size we are specifying as 10GB, keep 3 versions of log file as history, log file size defining as 5MB
DiffBetweenccmsetupvsclient 03

Further exploring CCMSetup.exe parameters:

Following are the few slash parameters which we can use during installation

Command-line parameterExplanation
/ExcludeFeaturesThis parameter specifies that CCMSetup.exe doesn’t install the specified feature.
Example: CCMSetup.exe /ExcludeFeatures:ClientUI doesn’t install Software Center on the client.
/forceinstallSpecify that CCMSetup.exe uninstalls any existing client, and installs a new client.
/logonIf any version of the client is already installed, this parameter specifies that the client installation should stop.
/mpSpecifies a source management point for computers to connect to. Computers use this management point to find the nearest distribution point for the installation files.
/noservice  This parameter prevents CCMSetup from running as a service, which it does by default.
/sourceSpecifies the file download location. Use a local or UNC path.
/uninstall  Use this parameter to uninstall the Configuration Manager client
Example: ccmsetup.exe /uninstall

Further exploring client.msi parameters:

Following are the few parameters which we can use during installation

Command-line parameterExplanation
CCMLOGLEVELUse this property to specify the level of detail to write to Configuration Manager log files.
Supported values:
0: Verbose
1: Default
2: Warnings and errors
3: Errors only
Example: CCMSetup.exe CCMLOGLEVEL=0
CCMLOGMAXHISTORY  When a Configuration Manager log file reaches the maximum size, the client renames it as a backup and creates a new log file. This property specifies how many previous versions of the log file to keep. The default value is 1
CCMLOGMAXSIZEThis property specifies the maximum log file size in bytes.
DNSSUFFIXSpecify a DNS domain for clients to locate management points that you publish in DNS.
FSPSpecify the fallback status point that receives and processes state messages sent by Configuration Manager clients.
PROVISIONTSStarting in version 2002, use this property to start a task sequence on a client after it successfully registers with the site.
Example: PROVISIONTS=MAN20012. Set the value of this property as the task sequence deployment ID
SMSCACHEDIRSpecifies the location of the client cache folder on the client computer
SMSCACHESIZEClient settings are available for specifying the client cache folder size
SMSMPSpecifies an initial management point for the Configuration Manager client to use
SMSSITECODEThis property specifies a Configuration Manager site to which you assign the client. This value can either be a three-character site code or the word AUTO