2

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

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

4

2 回答 2

8

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

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

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

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

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

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

于 2014-05-06T11:25:19.223 回答
1

如果我没记错的话,只是想一想——MSI应该能够静默安装,除此之外,这意味着在UI序列中没有专门的自定义操作,因为它们不会在部署时运行,因为你可能会抑制用户界面。执行序列不应具有可能显式显示需要确认的消息框的自定义操作,除非它们基于对 Win32 MsiProcessMessage() API 或等效的调用。

于 2014-05-06T17:11:13.377 回答