Я запрограммировал приложение, которое развертываю для наших пользователей с помощью SCCM. Сейчас я делаю обновления приложения примерно 5 раз в месяц. Чтобы выпустить новую версию, я создаю копию старого приложения, а затем просто меняю имя и ".msi" (включая руководство продукта), на который оно ссылается. В новом приложении я убеждаюсь, что оно заменяет старое приложение и выполняет полное удаление. Затем я удаляю старое приложение и удаляю развертывания. Я также хотел бы полностью удалить старые приложения, потому что они начинают делать список приложений очень длинным. Однако я боюсь, что если я удалю старые приложения, они не будут удалены с компьютеров пользователей, когда они получат новое приложение.
Каков наилучший метод для этого процесса замены / вывода / удаления обновления приложений?
Это действительно зависит от приложений. Замещение действительно используется только при изменении {GUID}. Обычно это вызвано изменением основной версии (с версии 3 на версию 4). Хорошо поддерживаемое название программного обеспечения обновит номер версии только при незначительных обновлениях (с v3.0 до v3.1). Вы также обнаружите, что многие программы на основе MSI без проблем устанавливаются поверх вашей старой версии.
Теперь к вашему вопросу. В SCCM есть готовый отчет под названием «Подсчет инвентаризованных продуктов и версий для определенного продукта». Это даст отчет о количестве всех инвентаризированных версий программного обеспечения. Затем вы можете использовать «Компьютеры с определенным названием и версией продукта», чтобы получить список компьютеров, на которых установлены старые версии.
Судя по тому, что мне удалось найти для передового опыта, вы хотите сохранить все пакеты приложений, которые используются в настоящее время. Как только программное обеспечение больше не используется в вашей среде, вы можете удалить пакет и удалить его, как только убедитесь, что его отсутствие не вызывает проблем.
Вы также можете создать папку в разделе управления вашим приложением для хранения старых пакетов приложений. SCCM использует уникальные идентификаторы для всего и не заботится о том, как вы организовываете свои объекты.