How to Repair Applications in SCCM
In this post we will see how to repair applications in SCCM. You can repair application from Software Center using SCCM and this is a very interesting feature.
One of the new and potential feature of SCCM is the ability to repair applications. The SCCM repair application feature was first introduced in SCCM 1807 technical preview. If you have are like me who tests every technical preview build, you would have tried the application repair feature. But since most of us work with current branch builds, you can repair applications starting with SCCM 1810 and above.
The reason why I consider “Repair Application” as a potential feature is because end users can repair applications by going into software center and clicking Repair option. It is this simple and this is going to ease the work of IT admins a lot.
Until now when an application was deployed, the end user could either install or uninstall the application through software center. With repair option, the end user can now repair or fix the broken application right from software center. This applies to newly created applications as well as deployed applications.
NOTE
The repair command option is available for only Windows Installer and Script Installer deployment types. In addition to repair command, there is another option called Repair start in. This is optional and you can specify the folder that has the repair program for the deployment type. This folder can be an absolute path on the client. It can also be a relative path on a distribution point of the folder with the package.
Where can I Specify Command to Repair Applications in SCCM
So now the you know about the application repair feature in SCCM, let’s find where do you specify command to repair applications in SCCM. If the application is already deployed, you need to specify the repair command and update the deployment type. Specify the application repair command under application properties > deployment types > Programs.
If you are deploying the application for the first time, you can specify repair applications under deployment settings. You simply need to enable the check box “Allow end users to attempt to repair the applications“. You then need to specify the repair command later.
How to Repair Applications in SCCM
To repair application in SCCM follow the below steps :-
- Launch the SCCM console.
- Navigate to Software Library\Overview\Application Management\Applications.
- From the list of applications, select an application and click Properties.
- Select Programs tab and specify the command to repair the application.
As an example I am going to specify the repair command for my existing application 7z. In your case it could be any other application. Under Programs, I specify the repair command using /f option. Once you specify the repair command, go to deployment types. Right click the application and click Update Content.
On the client computer you should now see the Repair option next to uninstall. Needless to mention the Repair option appears only if the application has been installed. Click Repair button.
You will now see a Repair application box. You are now about to repair this application. This action may make the application unstable for a while. Are you sure you want to repair this application ?. Click OK.
The repair command is now executed and the application is repaired. Check the AppEnforce.log file to see more details.
How would you adjust to run against an MSI that is in a subfolder? Will it understand relative pathing? For instance msiexec.exe /fa “.\subdir\app.msi” /qb
Hi Prajwal,
i’ve already set all settings as you, but i dont see “Repair” option in Software center. Is there any aditional settings in client settings which allow repair button?
Thank you for answear,
Martin
Did you update the content to distribution points ?.
What to do in the following situation?
– application was installed via SCCM , a fairly long time ago
– If a repair is attempted (msiexec /f ) , the installer will check for the original install source in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{msi-productID}\Installsource , which contains the original install source (e.g. c:\windows\ccmcache\1a\ )
– Over time the cache location has been expunged, so the repair attempt fails, because the sources are no longer there.
How can you trigger SCCM to download the content into cache and update the install source?
What about application groups? Is it possible the repair the whole group?
Hi, Is there a chance to set this also via PowerShell? i was not able to find any valid parameter…. 🙁
First of all Thank you so much prajwal!!! for putting the note on very simple and clear to understand as usual you do.
My question here for application repair tab how is it work for required option.. Or do we need to create separate deployment as available to create repair option in software libery.
I guess the option to repair app should be available while deploying app as required. If the application has been already deployed as available, you can still specify the repair option by going to deployment properties.