This week a new blog post again! During my vacation, I’ve been looking at some statistics of my blog and I noticed that my posts about app deployment related subjects are getting a lot of traction lately. That was a trigger for to make this post about a really nice application deployment feature that’s introduced in Configuration Manager, version 1906. That feature is to install applications for a device. The really nice part of this is that it uses the client notification channel to create a real-time application installation experience. In this post I’ll quickly go through the prerequisites, followed by the application deployment configuration. I’ll end this post by looking at the application installation trigger and the corresponding application requests.
Let’s start with the first prerequisites that should be in place to install applications for devices. That prerequisite is to enable the optional-release feature Approve application request for users and device. That can be achieved by simply following the next 2 steps:
- Open the Configuration Manager administration console and navigate to Administration > Overview > Updates and Servicing > Features
- Select Approve application request for users and device and click Turn on in the Home tab
The second prerequisite that should be in place is that the application should be deployed as available, with administrator approval, to a device collection. That can be achieved by following the next x steps for deploying an application: .
- Open the Configuration Manager administration console and navigate to Software Library > Overview > Application Management > Applications
- Select the an app and click Deploy in the Home tab to open the Deploy Software Wizard
- On the General page, browse to a device collection and click Next
This can be a generic collection, as the correct configuration will not result in a policy that is sent to the client.
- On the Content page, verify that the content is on a distribution point and click Next
- On the Deployment Settings page, select Install as Action, select Available as Purpose, select An administrator must approve a request for this application on the device and click Next
This is the most important configuration that should be configured in the deployment. This configuration will make sure that the application is available for installation on a device, without it being available for installation by the user.
- On the Scheduling page, click Next
- On the User Experience page, click Next
- On the Alerts page, click Next
- On the Summary page, click Next
- On the Completion page, click Close
Note: This feature can help with reducing the need for separate collections for every application.
Install application for device
Before looking at the actual actions, make sure that the required permissions are in place. The (administrative) user, performing the application installation trigger, needs at least the following permissions:
- Application: Read, Approve
- Collection: Read, Read Resource, Modify Resource, View Collected File
Now let’s have a look at the most interesting part, the actual application installation trigger. When using an administrative user account, with the required permissions, simply open the Configuration Manager administration console and navigate to Assets and Compliance > Overview > Devices. The administrative user can now right-click the device and click Install Application (see Figure 3).
That will provide the administrative user with an overview of the available apps for that specific device (see Figure 4). Selecting an application and clicking OK, will trigger the application installation by using the client notification channel.
Note: The application installation trigger and process can be monitored by following the logs related to client notification and application management.
Let’s end this post by having a look at the application requests. Every triggered application installation will resolve into an approved application request that can be found in the Configuration Manager administration console by navigating to Software Library > Overview > Application Management > Application Requests (see Figure 5). It’s registered as an application request for all users on that specific device. An administrative user can also deny this request again, as shown in the same figure below. Doing this will trigger the uninstall of the application, when an uninstall command is defined in the configuration of application.
For more information about installing applications for devices, please refer to the doc Install applications for a device.
6 thoughts on “Real-time application installation for devices”
Thanks for the write up. I agree this is a great feature, but is there any way to automate (PowerShell or other method) the process of installing the app? I have not found a way to do it at all. Seems like there’ is only approve and deny cmdlets for existing requests, but no way to create that initial installation request in the first place, aside from the console.
Did you check the SMSprov.log when performing the action via the console? That often reveals the action that’s triggered and that you can use to script it.
Thanks for responding. I did look at that log, but it didn’t reveal anything to me. I later found:
The post shows how to create a user based approval request it with a WMI method on the SMSProvider. This method seems to also work with device deployments too by omitting the username. Once created I am then able to use the existing cmdlets to manage approve and deny operations.
Thank you for the update, Chris!
The Deny Application Request is not uninstalling the Application from the Device… What could be the problem? Kindly help…
Apologies for the late reply, as I was enjoying my vacation. Did you configure the uninstall for the app? If so, did you see anything in the client logs?