SCCM is best deployed in the platform layer. It is best to install the client as one of the last components on the platform layer to ensure that the client is sealed correctly before attempting to finalize the layer. Sealing a layer is the process of completing all outstanding processes, for example NGEN processes.
Note: Deploying the SCCM client in the OS layer is not recommended, because it requires handling the agent startup on the packaging machine whenever you create or update a layer.
Deploy SCCM in a platform layer
To deploy SCCM in a layer:
1.In the App Layering management console, select the Layers tab and the Platform Layers subtab.
2.Click Create Platform Layer and complete the Create Platform Layer wizard using these tips:
·On the Create Platform Wizard Connector page if you do not yet have a connector configuration, click New and follow the steps to create one for on your hypervisor.
·For Platform Types, select the radio button for creating and updating layers. Then choose your hypervisor from the dropdown menu.
·On the Confirm and Complete page, verify your settings and click Create Layer.
3.Once you’ve created the platform layer machine, connect to and log into the packaging machine.
4.Install your platform and SCCM software on the packaging machine:
·If you use a connection broker, install it.
·If the App Layering appliance is installed on a different hypervisor than the one where you will be creating this layer, install the hypervisor tools next.
·If you use provisioning software that is not Citrix Provisioning, install it next.
·Install SCCM last, unless you are also installing Citrix Provisioning.
·If you use Citrix Provisioning, install it last.
When installing SCCM, follow all of the steps in the Microsoft article, [Implementing SCCM in a XenDesktop environment](https://social.technet.microsoft.com/wiki/contents/articles/23923.implementing-sccm-in-a-xendesktop-vdi-environment.aspx).
Note: These steps apply to running the SCCM client in any VDI environment.
5.Open an administrator command window and execute the SEALSCCMClient.cmd script included in the App Layering OS Machine Tools download:
Note: Run the SEALSCCMClient.cmd script whenever you update this layer.
6.Double-click the Shutdown For Finalize icon to verify the layer and shut down the packaging machine.
·If the connector configuration selected in the wizard is set to use Offload Compositing, the layer is automatically finalized.
·If the connector configuration is not set to Offload Compositing, finalize the layer manually, as described in the detailed steps in this article.
Start the CCMEXEC service before starting Software Center
Always start the CCMEXEC service before starting Software Center and trying to interface with the server to get the status of applications and installing them. If the service is not running, the Software Center sometimes shows an error starting up, and you have to start it manually.
The layering service checks to see if the CCMEXEC is configured, and if it is, starts the service as part of the machine’s startup process. Once logged into the machine, the service should already be running, and you are less likely to run into the scenario where starting the app results in an error.
What to expect from installed applications
The SCCM server dictates and reports which applications are installed for which user on what machine.
In a non-persistent world, a user often logs into a different machine on each login. The server views every one of those logins as a new combination of the specific user from that specific machine, so it only shows the applications that it was informed about when the user installed the application from that machine. There is no way of asking the SCCM server to inventory the installed applications on a machine and report the apps found for the current user. However, when a user logs onto their desktop, the only time they need to go into the Software Center is to install an application that they don’t currently have.
In the scenario where the software is not already available from the Start menu or the desktop, users can still install the application that they need.If a user is confused about an application that they think they have installed already, they can click on the install, and the server will check to see if it is installed. If the application is already installed, the status changes to “Uninstall” and shows the application in the installed applications list and the date it was installed.