I’m a newbie to PSADT who is working with a setup.exe with no MSI alternative.
I need to get an application packaged (deployed via SCCM) so that the end user can’t modify/repair/uninstall the application from Programs and Features.
I’ve done this before via MSI/MST but just trying to find out if PSADT can achieve this somehow.
go to your Application in SCCM, Right Click - Properties - Deployment Types - Then However you named your PSDATK - Edit - Programs - Delete the Line which is targeting your Uninstall / Modify
For example: Deploy-Application.exe UNINSTALL If you delete this, a user cannot uninstall your application, but you can no longer uninstall it yourself either
Because this is a feature of SCCM, not the PSADT.
Alternatively, you can simply comment out the Uninstall command within your script.
If you want to prevent a User to uninstall your app via Porgrams and Features u have to delete/modify the entry of the app in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ or equivalent
u can just delete the whole Folder or modify it to fit your wishes.
For this Case i recommend other Keys for SCCM to check if an application is installed.
I don’t think there’s a native PSADT way to do this.
The uninstall key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{YourApp-GUID}
There’s several options:
Set NoRemove = 1
and NoModify=1
or Set SystemComponent =1 (DWord)
This just hides the app completely from Programs and Features
The other option is use a GPO or CSP to hide Programs and Features altogether. Users have no business seeing it anyway.
All these options are just registry keys so you can just set the values using a PowerShell line in “Post Config” in PSADT.