SCCM的.msi和.exe安装程序是否有任何要求?

时间:2014-05-06 10:12:40

标签: wix windows-installer sccm

我有一个小应用程序,旨在在当前登录的非管理工作站用户下运行。应用程序可以手动安装,但我也确保它与组策略对象(GPO)软件分发方法兼容 - 我有旧系统(XP / Vista)的.msi文件:每台机器和每个用户安装的单独文件as .msi文件利用Windows 7(和更新版本)与WIX Allusers = 2选项的兼容性,允许自动注册表和文件夹路径重定向,具体取决于安装上下文。

一切都很好,但我只是想知道,我需要做些什么特别的事情来使我的安装程序适合使用Microsoft System Center Configuration Manager进行安装?我真的没有资源我自己测试这样的场景,并想了解SCCM的安装程序文件的理论要求。

2 个答案:

答案 0 :(得分:6)

在我的日常工作中,我是一家拥有SCCM 2007环境(目前正在迁移到SCCM 2012)的财富50强企业的部署架构师,拥有超过300,000个客户。这里有一些提示。

1)我们不做每用户安装。他们无法管理和报告。如果安装程序必须具有每用户资源并且我们无法获得应用程序(通常是供应商提供),我们使用Active Setup技术执行此操作,其中每个用户首​​次登录MSI时进行修复并填充Per-用户资源。只是意识到你永远不会得到它......它本质上是永远的。

2)SCCM可以处理非MSI部署类型,但写得好的MSI工作效果最好。

3)使用快照VM在SYSTEM上下文中测试您的安装。 (PSExec是你的朋友)

4)测试您的安装,卸载,重新安装,升级,修复,更改。确保一切都是防弹的。

5)不要将先决条件包装到setup.exe引导程序中。分解它并允许SCCM打包这些项目。然后,您可以使用包链,任务序列或应用程序模型来允许SCCM管理链接。您可以获得更好的状态,报告和有效使用系统。

答案 1 :(得分:1)

如果我正确地记住这些事情,那么只需要几点思考 - MSI应该能够进行静默安装,除此之外,这意味着在UI序列中没有自定义操作,因为它们不会在部署时运行,因为你可能会压制UI。执行序列不应该具有可能显式显示需要确认的消息框的自定义操作,除非它们基于对Win32 MsiProcessMessage()API或等效的调用。