Мы установили приложение на несколько клиентских машин и хотим развернуть новую версию до
1) Удаление предыдущая версия, если есть, то
2) Установка новая версия на том же этапе (поскольку файл msi приложения не может удалить предыдущую версию, и мы должны выполнить удаление и установку приложения на одном этапе. Возможно ли это? Если да, то как мы можем управлять этим на стороне SCCM или msi с помощью сценария и т. д. ? Любая помощь будет оценена.
Мое развертывание SCCM регулярно удаляет одну версию и устанавливает следующую версию за один шаг. Вот как этого добиться.
Чтобы это работало, вам необходимо, чтобы как исходная, так и новая версия были упакованы как приложение SCCM, которое SCCM может успешно пройти через полный жизненный цикл (запускать как неустановленное и необнаруженное, установить, обнаружить, удалить, необнаруженное). Прежде чем переходить к следующему шагу, протестируйте полный жизненный цикл каждого приложения отдельно.
С помощью хорошо сформированного приложения вы можете развернуть приложение на компьютерах независимо от того, установлено ли оно уже. Если приложение уже установлено, CcmExec
обнаружит это и ничего не сделает. Если приложение не обнаружено, оно вызовет установщик.
Замещение является ключом к удалению и установке «за один шаг». CcmExec
на самом деле процесс удаления с последующей установкой, но я всегда видел, как это происходит последовательно, поэтому вы не рискуете, что пользователь останется без этого приложения в течение длительного периода времени.
Вот экран замены, над которым вы работаете:
Создать новый пакет
Исходная папка: \\ сервер \ здесь \ там
Стандартная программа
Командная строка: установить This.bat
И т.д...
Исходная папка также должна содержать "installThis.bat".
Минимальное содержимое InstallThis.bat
REM *** Get the "UninstallString" of the old version from this registry locaton
REM *** HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
REM *** Replace the first MSIEXEC here with that UninstallString
MsiExec.exe /X{071c9b48-7c32-4621-a0ac-3f809523288f}
MsiExec.exe newVersion.msi /this /that /other