KNOWN THINGS : When a .msi is built, a manifest is built into it. The manifest defines, among other things, the resources (including privilege elevation) the .msi needs to install successfully.
UNKNOWN THINGS : 1.Can this Manifest option be set any开发者_开发问答where in Installshield with Administrator privilege as default ? 2.Is this Manifest option coming into play only for Windows 7 ?
Your known things are incorrect. The manifest goes into an exe file. Since Windows Vista (which InstallShield first supported in InstallShield 12 or so), there's an additional marker in this manifest that indicates required elevation levels, and is respected by Windows Vista and Windows 7 so far. Since about InstallShield 12 (definitely by InstallShield 2008), there's an option on the release grid that lets you specify that the setup.exe bootstrap requires administrative privileges.
However for custom actions, this is not necessarily the correct approach, any more than wrapping your arm in several layers of gauze is the correct response to a mosquito bite. Generally it is much better to schedule custom actions that require elevated privileges as "deferred in system context." In this location they run with those privileges (with the exception of a Windows 7 per-user install, or a pre-Windows Vista unelevated unadvertised install). Before InstallShield 12 or so, there are several built-in custom actions that InstallShield did not do this for, and those can cause issues when run from a non-elevated context.
The manifest file that you talk of first made an appearance in WinXP. It has nothing to do with InstallShield itself, although you could use a custom action to manipulate it. Not that there is a need to though, it is not the sort of file that you need to be changing. If you have an automated build process then maybe you should think about making any required changes with that process, rather than as part of the install.
精彩评论