开发者

install a windows 7 .msi for all present and future users

If I create a .msi installer and install at the command line with:

msiexec /i foo.msi ALLUSERS=1

I've installed foo for all users. If I then create a new user on the system then I try to run foo from the start menu, Windows 7 will try to install the foo package for that user. If the .msi file isn't around. it fails. Is there a way to install this package for all present AND future users without forcing an install?

Note that I put an ic开发者_Python百科on in the "User's Program Menus". Is there a special folder for a menu item all user's can see without a reinstall?

Please advise. Thanks.


I think you've installed an advertised shortcut. You may want to reconsider how you've architected your features/components/key files, and where you've placed advertised shortcuts.

regarding:

Note that I put an icon in the "User's Program Menus". Is there a special folder for a menu item all user's can see without a reinstall?

Try: %ALLUSERSPROFILE%\Microsoft\Windows\Start Menu


The described behaviour also occurs when an installation package is run for all users but there are componenets which can only install per user.

Windows Installer detects this and upon launching the installed application from a different user automatically runs the MSI package again (quite the feature wouldn't you say?)

This problem should be reported as an error by any decent tool when validating the resulting MSI. The validation rule ICE38 partly covers this:

Validates that components installed under the user's profile use a registry key under HKCU as their key path.

There are many other validation rules which should help prevent such issues. See the ICE Reference for additional info.

If no tool is at hand to check for such issues, you should be able to get a copy of Orca from the Windows Dev Center website. It allows checking existing MSI packages and also allows for modifications within the MSI tables.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜