- How to deploy a scripted application installation with SCCM 2012 - Mon, Sep 23 2013
- How to deploy an MSI package with SCCM 2012 - Mon, Aug 19 2013
- SCCM 2007 – General client troubleshooting tips - Tue, Aug 6 2013
If you are familiar with military standard procedure documents or technical manuals, this is pretty much the same idea. I won't spend a lot of time explaining what an Application is, or other aspects of Configuration Manager 2012, since the goal of this article is simply to walk you through deploying an installation as quickly and clearly as possible.
For this example, I'm going to deploy Microsoft XML Notepad 2007. It's fairly common in most enterprise-level environments, and is simple enough to use for demonstrating a straightforward deployment scenario.
- Create a new Application
- Create a target Collection
- Create a Deployment
- Monitor the Deployment status
I will assume you can handle downloading and storing the installation file by yourself, so I will begin with creating the new Application in Configuration Manager. Let's dive in.
Create a new application
- Store the source .MSI package file in a folder which is shared over the network. (You can only select content for making an Application deployment if it can be accessed via a UNC path reference, so drive letters are not allowed.)
- In the Configuration Manager 2012 Administrator Console (hereinafter referred to as the "Admin Console"), expand "Software Library" in the left-hand panel. Right-click on "Applications" and select "Create Application".
- Accept the default selection, and click the "Browse" button to locate and select the .MSI package file. Make sure you navigate to the source folder location using the UNC path, not by using a drive letter. Once selected, click Next. Click Next again on the confirmation page.
- On the "General Information" page, fill-in the form fields to describe the application as best as you can. The more information you provide, the more it can help with future tasks. Note that you do not need to append MSIEXEC user-interface options, such as "/q" or "/qn" since CM will do that automatically later in the process. In addition, the "Installation behavior" option allows you to target a User, a Device ("System") or a combination of the two; however, for this example I'm going to target a Device Collection, so I've chosen "System".
- On the confirmation page, click Next to continue. After the Application is created, click the Close button.
- 7. Once the Application is created, click the "Deployment Types" tab at the bottom to see the results. Unlike a "Package" in CM 2007, an Application can have multiple Deployment Types, allowing you to configure actions relating to specific Operating Systems or Devices.
Staging the application content
The next step in the process is to make sure the Application content is placed where clients can access it when they're instructed to use it. This is referred to as "Distributing Content". Basically, the files associated with the Application are copied to selected Distribution Point servers, either explicitly, or by way of Distribution Point Groups. For this example, I will Distribute the content to a selected Distribution Point.
- Right-click on the Application you just created, and select "Distribute Content". This will allow you to stage the installation binaries and related files on your Distribution Point servers so that clients can access it when executing the installation requests.
- On the Content options page, accept the content confirmation and click Next to continue.
- On the Content Destination page, click the Add button to select the target Collection, Distribution Point server, or Distribution Point Groups, to stage the Application content. In this example, I've selected an individual Distribution Point server. Once you select all of the desired content locations, click OK and then click Next to continue.
- Check the boxes for each desired Distribution Point and click OK to continue. In this example, I've selected DP server named "P01" on domain "contoso.local".
- On the Summary page, click Next to continue. After a few seconds a progress bar will show the content begin copying to the Distribution Point.
- When the content has finished distribution, you will see the Confirmation page. Click Close to finish. The next step is to target the Application to desired Users or Devices (computers, etc.).
Deploying the application
If you already have a target Collection created, you can skip this step, as I'm only showing this to illustrate that I have a Direct Membership Device collection for use in targeting the Application "Deployment" in the next step.
- In the "Software Library" section of the Admin Console, under Applications, right-click on your new Application once again, and this time select "Deploy".
- Since I am deploying to a Device Collection, select "Device Collections" at top-left, and then select the appropriate target Collection on the right, and click OK, then click Next. You can just as well target a User Collection or a Query-based User or Device Collection. This is only for demonstration.
- Once you have selected the Software (Application) and the Collection, you now have the option of entering some comments to describe this particular Deployment if you desire. After this, click Next to continue.
- Confirm the Distribution Point selections, or click Add to select additional Distribution Points or Distribution Point Groups if desired, and click Next to continue.
- On the Deployment Settings page, select "Install" for the Action, and for the Purpose select "Required". If you aren't familiar with "Available" and "Required", you can think of them as synonymous with "Published" and "Assigned" as it pertains to Group Policy software installations. The first option makes the package available for users to choose when to install it. The second option runs the installation without requesting any approval or interaction from the users. For this example, I'm leaving the three checkboxes alone. I recommend reading up on each of them and testing them yourself to see if they benefit you within the context of your environment.
- On the Scheduling options page, you can specify a date and time for the Deployment to begin, as well as setting a specific deadline date. For this example I chose "As soon as possible", and then click Next to continue.
- Since I am deploying this installation to computers, I don't want it to interrupt the users, nor do I want it to display any prompts during the process. For this reason, select "Hide in Software Center and All Notifications". If you have specific Maintenance Windows in place, you should carefully consider the remaining three options; however, for this example, I'm leaving them as shown, and then click Next.
- On the Alerts settings page, you should select the first two threshold options so that you can properly monitor the Deployment when it becomes active. The default values are usually sufficient, but you may want to adjust them to suit your needs. If you are using System Center Operations Manager 2012, you may want to use the last two options, but I've skipped them for this exercise.
- On the Summary page, click Next to continue.
- After the progress bar finishes, you should see a successful Confirmation. Click Close.
- Click on the Application once again, and this time select the "Deployments" tab at the bottom. This will show all of the current Deployment configurations you have created for this Application. At this point, there should only be one Deployment for this Application.
From this point, you should now have an active Deployment which clients will begin evaluating and executing, as long as they are members of the target Collection and they meet any optional Global Conditions you may have set on the Deployment.
Monitoring the deployment
Now that the Application is in Deployment, the next step is to monitor its progress. Click on the Monitoring section in the Admin Console, and select Deployments. From here you can view the current status of each Deployment and see successes and failures. You can also drill-down into each status indicator to view more detail if needed.
In the next article I will deploy a slightly more complicated Application involving a Setup.exe package.
Want to write for 4sysops? We are looking for new authors.
just wondering how this works for a newer release of the same application. I’ve a couple of doubts then:
In the source location I guess I need to create a directory for each application I want to deploy, am I correct?
And for this reason I also think I need to create another folder for each new version/release of this application I want to deploy (over the older). Right?
So I will end up with a source location full of nested directories while with the old GPO deployment at lease I could put all MSI/EXE of the same app into the same folder.
Is it safe to delete the source directory after the content has been sent to the distribution points?
Hi. Thx for the write up.
I have a sccm server setup with the name ABC123. I created a shared folder to hold all my apps.
Under your section, “Deploying the Application” step 4. I can never see my Distribution Point. I always have to add in one.
I should see \\ABC123.Domain.com.
What am I missing? Any help is greatly needed.
if the content already resides on your DP, you won’t see anything when trying to distribute it….
Does anyone know if this can be automated?
As in a script/app that allows you to select an msi and have it proceed as far as distribution, without all the manual steps. MSI install is (for the main) a next>next>next process.
We have dozens of apps and would be very handy to not have to do this one by one
I have a software that needs to deploy on a different path than C drive on the client machine, Is there any way that I can SCCM to deploy that particular software to a path different than C drive (Default) drive.
Please note that the software has been packaged and already in SCCM ready to deploy. but as I mentioned it only deploys it straight to C drive on the client machine.