【问题标题】:Cannot install .msi package silently无法静默安装 .msi 包
【发布时间】:2009-10-06 14:00:31
【问题描述】:

我有一个 Office 2007 加载项(使用 Visual Studio 2005 Tools for Office Second Edition 开发),它已使用 Visual Studio 2005 中的安装项目打包到一个 .msi 文件中

问题是,当用户使用 Next->Next->Finish 自己安装软件包时,一切正常,但是当我尝试使用域管理员在所有机器上静默安装它时(在这种情况下,我们有数百用户)然后它不能正常工作(虽然它安装正常)以下是用于静默安装 .msi 包的命令

msiexec /fa "solution.msi" ALLUSERS=1 /qb!

This image 显示在安装时如何填充系统注册表以将我们的解决方案连接到 Office2007

是否有任何以前版本的解决方案可能与我们的静默安装冲突?还是可能有其他问题?

是否存在与 CASPOL 安全相关的任何问题,当我静默安装时可能会失败?

【问题讨论】:

  • 如果安装正常,能不能定义“不能正常工作”?
  • 它基本上是为普通用户安装的,但加载项没有像应有的那样显示在 Office 功能区中。

标签: .net windows-installer vsto


【解决方案1】:

注意几点:

首先,您提供的命令行不是用于安装的;如果该应用程序已经安装,它将重新安装。 “/qb!”选项使“下一步”和“完成”对话框出现。并且“ALLUSERS = 1”选项告诉它把快捷方式放在所有用户的开始菜单中(但不会改变它安装注册表项的方式——稍后会详细介绍。)我会推荐这样的东西:

msiexec /i "solution.msi" ALLUSERS=1 /qn

其次,您的注册表快照显示该应用程序需要 HKEY_CURRENT_USER 条目。顾名思义,这些对于登录机器的每个用户都是独立的。 (这解释了为什么如果用户自己安装它就可以工作。)如果您将它安装为管理员帐户,那么该帐户将拥有它需要的注册表条目 - 但不一定是任何其他登录的帐户。您的 MSI 必须专门设计为为每个登录的新用户推送 HKCU 条目。

有关如何设计 MSI 以便为您放入 HKCU 注册表项的提示,请参阅以下内容之一:

【讨论】:

【解决方案2】:

我的猜测(因为我无法访问您的图像)是当您以管理员身份安装时,您安装的文件没有正确设置其他“普通”用户的权限。

因此,您可能需要对文件设置 *\users 的读取和/或写入权限。

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 2012-01-23
    • 2013-03-01
    • 1970-01-01
    • 2021-11-04
    • 2011-06-04
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    相关资源
    最近更新 更多