我有一个小应用程序,旨在在当前登录的非管理工作站用户下运行。应用程序可以手动安装,但我也确保它与组策略对象(GPO)软件分发方法兼容 - 我有旧系统(XP / Vista)的.msi文件:每台机器和每个用户安装的单独文件as .msi文件利用Windows 7(和更新版本)与WIX Allusers = 2选项的兼容性,允许自动注册表和文件夹路径重定向,具体取决于安装上下文。
一切都很好,但我只是想知道,我需要做些什么特别的事情来使我的安装程序适合使用Microsoft System Center Configuration Manager进行安装?我真的没有资源我自己测试这样的场景,并想了解SCCM的安装程序文件的理论要求。
答案 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或等效的调用。