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