这是我第一次尝试创建组策略来为我们域上的计算机安装软件产品。当我尝试添加包时,我收到以下错误:
添加操作失败。无法从包中提取部署信息。对包运行验证以确保包正确。
以下是我为达到这一点而采取的步骤:
- 在 Active Directory 中,右键单击域并选择属性
- 单击新建按钮以创建新的组策略对象
- 命名对象
- 选择新的组策略对象并单击编辑按钮
- 在组策略编辑器对话框的计算机 | 下 软件设置 | 软件安装节点,右键单击并选择新建包命令。
- MSI 文件的路径是有效的 UNC 路径(MSI 文件所在的共享已共享给我们域内的用户 - 完全控制)。
- 单击“打开”以选择 MSI 文件
- 在“部署软件”对话框下,选择“已分配”并单击“确定”
- 片刻(10 - 15 秒)后,将显示上述错误消息
我尝试过的故障排除步骤:
- 确保该软件尚未安装在服务器上
- 使用 MSI 文件在另一台机器上安装软件以确保 MSI 工作。
- 验证服务器上的 Windows 卷有足够的可用磁盘空间 (100+GB)。
那么,这就是糟糕的魔力。这不是您使用您的程序所做的,而是 MSI 有问题。您是自己构建的 MSI 还是第三方构建的?如果是第三方,制造商是否表明 MSI 在这种部署场景中工作?
我无法告诉您应该运行哪些特定验证,因为当 Windows 从 MSI 中“提取”“部署信息”时,我并不确切知道它在做什么。我知道我已经看到了一些来自第三方的相当糟糕的 MSI。我相信我最终放弃了它们,自己提取内容,并将它们重新打包到带有 WiX 的 MSI 中。
(这是 Windows 中我希望对源代码有一定了解的地方之一......)
某些 .msi 软件包并非专为无人值守安装而设计。这可以解释为什么当您手动运行它时它安装正常。从 .exe 中提取 .msi 时,我已经看到过几次。正如埃文所说,您正在尽一切努力完成这项工作。