考虑以下场景:
- 我之前已将应用程序 Foo v1.0 部署到我的所有工作站。
- Foo 2.0 的新版本出来了,我需要升级每个人。
在这种情况下,我必须为 Foo 2.0 创建一个新的应用程序包并进行部署。
假设安装程序自己负责升级和新安装,那么让 Foo 2.0 取代 Foo 1.0 而不是仅仅忽略该功能并删除 Foo 1.0 的部署有什么好处?
这对我有什么好处?
如果有区别,我正在使用 SCCM 2012 R2。
考虑以下场景:
在这种情况下,我必须为 Foo 2.0 创建一个新的应用程序包并进行部署。
假设安装程序自己负责升级和新安装,那么让 Foo 2.0 取代 Foo 1.0 而不是仅仅忽略该功能并删除 Foo 1.0 的部署有什么好处?
这对我有什么好处?
如果有区别,我正在使用 SCCM 2012 R2。
我可以想到使用取代的三个好处。
透明的依赖
假设您有一个依赖于 Foo 1.0 的 Bar 1.0 部署类型。如果您用 Foo 2.0 取代 Foo 1.0,那么 Bar 1.0 的任何部署都将自动安装/升级到 Foo 2.0。
(我没有对此进行严格的测试,但我认为这就是取代和依赖如何协同工作的方式。)
用户选择的应用程序
如果 Foo 1.0 被部署为“可用”(而不是“必需”)取代将导致 Foo 2.0 仅安装在已安装 Foo 1.0 的那些计算机上。这样,Foo 2.0 只会在用户决定需要 Foo 1.0 的地方安装。
原子卸载/安装
如果您需要在安装 Foo 2.0 之前卸载 Foo 1.0,则取代确保 CcmExec 确保仅在安装 Foo 2.0 之前立即卸载 Foo 1.0。这样,如果用户依赖 Foo,您就不会冒险让用户长时间使用 Foo 1.0 或 Foo 2.0。