我编写了一个应用程序,并使用 SCCM 将其部署给我们的用户。我目前每月大约更新该应用程序 5 次。为了发布新版本,我创建了旧应用程序的副本,然后只更改名称和它引用的“.msi”(包括产品 guid)。在新应用程序中,我确保它取代了旧应用程序并执行完全卸载。然后我停用旧应用程序并删除部署。我还想完全删除旧应用程序,因为它们开始使应用程序列表变得非常长。但是,我担心如果我删除旧应用程序,那么当用户获得新应用程序时,它们将不会从用户机器上卸载。
升级应用程序的取代/退役/删除过程的最佳实践是什么?
答案1
这实际上取决于应用程序。仅当 {GUID} 发生变化时才真正使用取代。这通常是由主要版本更改(版本 3 到版本 4)引起的。维护良好的软件标题仅在进行次要更新(v3.0 到 v3.1)时才会更新版本号。您还会发现许多基于 msi 的软件标题将毫无问题地安装在旧版本之上。
现在回答您的问题,SCCM 有一个预建的报告,名为“计算特定产品的库存产品和版本”。这将报告软件所有库存版本的数量。然后,您可以使用“具有特定产品名称和版本的计算机”来获取具有旧版本的计算机列表。
从我找到的最佳实践来看,您需要保留当前正在使用的所有应用程序包。一旦软件不再存在于您的环境中,您就可以停用该包,并在您知道没有它不会造成问题后将其删除。
您还可以在应用程序管理部分创建一个文件夹来存储旧的应用程序包。SCCM 对所有内容使用唯一的 ID,并不真正关心您如何组织对象。