Windows Installer Bootstrappers - Permissions

I have custom boot files for SQL Server 2008 R2, .NET Framework 3.5, .NET Framework 4, etc. I am using the Visual STudio 2010 deployment project to deploy the .NET 4 application. I know that they are leaving.

Is there a way to specify bootstrapper for Fail if the user does not have specific Windows privileges? The SQL Server installation seems to take care of this on its own, but gives very cryptic error codes and texts that are difficult to track for users. I know that I can install Bypasses for versions of Windows, and SqlCheck.exe does some version checking. Should I create my own application that checks user rights, and the loader can check the return code similar to SqlCheck.exe?

Can this be done using the Bootstrapper manifest generator, and even Visual Studio 2010 supports BMG? It appears that it is no longer supported, but I'm not sure if there is anything specific for VS 2010 / Windows Installer 4.5 http://archive.msdn.microsoft.com/bmg

+4
source share
1 answer

The most you can do with standard Visual Studio download is to check the value of the AdminUser property. The predefined client prerequisite of the .NET Framework 4.0 uses a similar condition. You can find its manifest in this folder:

C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client 

This should also be supported by the bootstrapper manifest generator.

But, and this is big, in new versions of Windows all users can get administrator privileges through promotion. Thus, from the point of view of the installer, any user is considered as an administrator, even if he does not.

Thus, this approach is practically useless for Vista or higher.

You can try creating your own bootable EXE boot file that processes the prerequisites and verifies user rights. But you are likely to encounter the same problem.

In my experience, the best approach is to allow each installer to lift himself if necessary. Most of them have built-in mechanisms for this, especially from Microsoft.

If you are having problems with this approach, I am sure that they are not caused by privileges. Most likely, your precondition is configured incorrectly (for example, an incorrect command line).

0
source

All Articles