Of the environment that you mentioned, the following are easily supported by
MSI:
1. Support for installation on locked-down machines. See
http://msdn.microsoft.com/library/d..._with_elevated_privileges_for_a_non-admin.asp
for more details. Note that the AlwaysInstallElevated policy method is not
recommended because of the security implications of using that policy.
2. Ability to run a custom EXE or regsvr32 command, generally accomplished
through a custom action. Probably the most appropriate is a type 50 custom
action:
(
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/custom_action_type_50.asp).
The tricky part is having the layer automatically applied to the shortcut.
Here's where I feel that the application compatibility toolkit documentation
that I referenced earlier would help you. It allows you to create a custom
compatibility database and add your own appcompat entries to it. So, you simply
follow the instructions to add a layer (which is what you've described) and then
provide the application name and application file.
The instructions in the doc also describe how to deploy the fix as well. This
requires running the sdbinst executable and providing it the path of your custom
SDB (appcompat database) file. You could easily use a custom action to run the
command to install the appcompat database entry within the MSI file. The
appcompat framework will apply the layer to those applications that match the
entries you provided.
This method is fairly flexible, fully supported, and can be incorporated with
MSI for deployment (using the custom action mechanism). Some step-by-step
details are at:
http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/lgcyapps.mspx.
Hope this helps,
- Carolyn Napier
Microsoft Windows Installer Team
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Please do not send email directly to this alias. This alias is for newsgroup
purposes only.
MSI FAQ:
<
http://www.microsoft.com/windows2000/community/centers/management/msi_faq.mspx>