我有一个 Office 2007 加载项(使用 Visual Studio 2005 Tools for Office Second Edition 开发),已使用 Visual Studio 2005 中的安装项目将其打包到 .msi 文件中
问题是,当用户使用“下一步”->“下一步”->“完成”自行安装软件包时,一切正常,但是当我尝试在所有计算机上使用域管理员静默安装它时(在这种情况下,我们有数百台计算机)用户数),然后它无法正常工作(尽管可以正常安装)以下是用于静默安装 .msi 包的命令
msiexec /fa "solution.msi" ALLUSERS=1 /qb!
This image显示了如何在安装时填充系统注册表以将我们的解决方案连接到 Office2007
该解决方案的任何早期版本是否可能与我们的静默安装发生冲突?或者可能还有其他问题?
是否存在任何与 CASPOL 安全相关的问题,当我静默安装时可能会失败?
最佳答案
需要注意的几点:
首先,您给出的命令行不是用于安装的;如果该应用程序已安装,它将重新安装。 “/qb!”选项使“下一步”和“完成”对话框显示。 “ALLUSERS=1”选项告诉它在所有用户的开始菜单中放置快捷方式(但不会改变它安装注册表项的方式——稍后会详细介绍。)我会推荐这样的东西:
msiexec /i "solution.msi" ALLUSERS=1 /qn
其次,您的注册表快照显示该应用程序需要 HKEY_CURRENT_USER 条目。顾名思义,这些对于登录到计算机的每个用户来说都是独立的。 (这解释了为什么如果用户自己安装它,它就可以工作。)如果您以管理员帐户安装它,则该帐户将具有所需的注册表项,但不一定有任何其他登录帐户。您的 MSI 必须经过专门设计,才能为每个登录的新用户推送 HKCU 条目。
有关如何设计 MSI 以便为您添加 HKCU 注册表条目的提示,请参阅以下内容之一:
关于.net - 无法静默安装 .msi 软件包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1525783/