App Layering Recipe: How to deploy Microsoft SCCM in a layer

App Layering Recipe: How to deploy Microsoft SCCM in a layer

book

Article ID: CTX270819

calendar_today

Updated On:

Description

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. Install the packages in the following order:
    • 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, (see NOTE below) unless you are also installing Citrix Provisioning.
    • If you use Citrix Provisioning, install it last.
      • NOTE: Please use the article referenced at the end of this recipe to install SCCM. But, when you get to the section, "Install the SCCM Client--Steps 1-4", you will run the SEALSCCMClient.cmd script (included in our download package) to execute those steps, instead of entering them manually. The following step describes this in more detail.*
  4. Once SCCM is installed and configured and before Citrix Provisioning is installed, if you are using it, the last step is to run the SEALSCCMClient.cmd, which is included in App Layering OS Machine Tools download.  The location is: `c:\windows\setup\scripts\SEALSCCMCLient.cmd`
  5. 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.

Article:

* Microsoft Technet article: Implementing SCCM in a XenDesktop VDI environment, https://social.technet.microsoft.com/wiki/contents/articles/23923.implementing-sccm-in-a-xendesktop-vdi-environment.aspx
Use this Microsoft article to install and configure SCCM on the platform layer, except that once SCCM is configured, run our SEALSCCMClient.cmd script to seal the layer, instead of manually entering Steps 1---4 in the section, “Install the SCCM Client – steps 1 - 4”. In spite of the section title, Steps 1-4 actually prepare the installed app to run in a virtual environment.