为所有现在和将来的用户安装Windows 7 .msi

时间:2010-07-04 04:09:54

标签: windows-installer

如果我创建一个.msi安装程序并在命令行安装:

  

msiexec / i foo.msi ALLUSERS = 1

我为所有用户安装了foo。如果我然后在系统上创建一个新用户 然后我尝试从开始菜单运行foo,Windows 7将尝试安装 该用户的foo包。如果.msi文件不在。它失败。在那儿 一种为所有现有和未来用户安装此软件包而无需强制的方法 安装?

请注意,我在“用户程序菜单”中添加了一个图标。有没有特殊的文件夹 对于菜单项,所有用户都可以看到而无需重新安装?

请指教。感谢。

2 个答案:

答案 0 :(得分:1)

我认为您已经安装了advertised shortcut。您可能需要重新考虑如何构建功能/组件/密钥文件,以及放置广告快捷方式的位置。

关于:

  

请注意,我在“用户”中添加了一个图标   程序菜单“。有特殊之处吗?   所有用户都可以使用的菜单项的文件夹   看不用重装?

尝试: %ALLUSERSPROFILE%\ Microsoft \ Windows \ Start Menu

答案 1 :(得分:0)

当为所有用户运行安装软件包时,也会发生上述行为,但是有些组件网只能按每个用户安装。

Windows Installer会检测到此情况,并在从其他用户启动已安装的应用程序后自动再次运行MSI程序包(很高兴您不说该功能吗?)

在验证生成的MSI时,任何正当的工具都应将此问题报告为错误。验证规则ICE38部分涵盖了这一点:

验证用户配置文件下安装的组件是否使用 HKCU下的注册表项作为其密钥路径。

还有许多其他验证规则应有助于防止此类问题。有关其他信息,请参见ICE Reference

如果没有可用的工具来检查此类问题,则应该可以从Windows Dev Center website获取Orca的副本。它不仅可以检查现有的MSI软件包,还可以在MSI表中进行修改。