If you encounter this error during an install it may be that the application in question is launching a child process which is NOT UAC elevated.
I ran into this today with the Microsoft Deployment Toolkit 2012 on my x64 machine. This was surprising since I had installed it in my Demo environment on the weekend for a presentation.
But the environment in Question was a Domain Controller and my account was … *cough* … Administrator.
I thought my local copy was corrupt and had downloaded it again. Same error on the install AND the uninstall.
Checking online I discovered others had encountered this error, when they had it referred to a permissions issue on C:\Windows\Installer. Funny thing is other applications had installed and uninstalled without issue.
But I’d seen this in the past where the MSI launches and somewhere in the process a child process launches. If the child process is launched incorrectly it does not inherit the rights of the parent.
This “Child” could be as simple as something installing a dependency like a Visual C++ runtime module. If it launches incorrectly it does not run within the UAC.
If you deploy from System Center 2012 Configuration Manager you won’t have this problem but if you run interactively you might.
The solution is easy. Launch your CMD.exe “As Administrator” and then launch MDT from the elevated CMD.EXE
This simple trick has saved me in the past from MSI and other installers that for whatever reason sometimes aren’t implemented correctly *OR* the permissions on the installer folder might be skewered up for whatever reason. Since MDT has NOT failed me in the past, I’m blame my local workstation and not the Great team that Developed this wonderful tool.
It’s technology, sometimes things happen. Knowing how to get an answer is sometimes all we need.
The Energized Tech