We have a major issue with uninstalls failing to work
1. Create a new project that has a folder called "Secure" set the NTFS permissions so that only SYSTEM and Administrators can access the folder.
2. Place in the folder cacls.exe (this is just an example our project this would be a Windows service executable).
3. Login as an Administrator **NOT** Administrator, in our example we created a user called sysadmin who is a Domain Admin.
4. Install the product, this works correctly and the folder is created, sysadmin cannot access the folder without elevating.
5. The cacls file is executed on Uninstall (in our real project this runs the service to automatically uninstall itself), the cacls.exe file is found in the secured folder.
6. If you run the installer from the desktop setup.exe it works correctly.
7. ** BUG ** if you attempt to uninstall from Programs and Features the product fails to uninstall, our trial customers are furious they cannot remove the product it looks like we are blocking them from removing it.
We CANNOT use the built in feature to uninstall the service because we cannot set the uninstall to only run on a full uninstall, it uninstalls the service on an upgrade and loses the credentials.
** NOTE **
1 Performing the uninstall as Administrator works as can bypass UAC
2. Running msiexec /x "{1DC4FABB-B9C2-4A3B-A97F-86845DABAFDF}" in an elevated command prompt works
When you run the uninstall from Programs and Features you see the UAC prompt, why isn't this elevating correctly?