Как развернуть MSI с двумя значениями параметра командной строки для разных групп

У меня есть приложение, созданное в sccm с типом развертывания MSI. Как часть свойств типа развертывания в разделе Программы => Программа установки и Удаление программы, я могу указать оператор командной строки msi для выполнения, включая переключатели. Мне нужно иметь развертывание A, которое идет в группу A и не имеет никаких дополнительных ключей командной строки. Мне нужно иметь развертывание B, которое идет в группу B и имеет дополнительный ключ командной строки ADMINUSER=1. Переключатель командной строки используется MSI (внутренняя программа, которую я разработал), чтобы определить, какой файл документации устанавливается (обычный пользователь или администратор).

Я знаю, что могу создать два совершенно разных приложения, но это будет неэффективно, потому что я часто обновляю свое приложение. Если бы мне приходилось делать два разных приложения каждый раз, когда я делаю обновление, это было бы очень неэффективно. Я хотел бы сделать два разных развертывания, которые используют два разных типа развертывания, но, насколько я понимаю, это не то, как работает sccm. Сначала я просмотрел онлайн, но результаты и документация для sccm отстой.

Как я могу решить мою проблему?

1 ответ

Решение

Вы не можете сделать это с одной программой, к сожалению. НО, вы можете сделать это с одним пакетом (группа файлов, MSI в вашем случае), используя несколько программ. Используя этот подход, вам не придется обновлять свои программы всякий раз, когда вы обновляете пакет. Пакет - это просто группа файлов (в большинстве случаев), программы - это команды, которые фактически выполняются. В вашей ситуации я бы пошел с таким подходом:

1) Вы можете создать две отдельные программы установки и рекламировать их в двух разных коллекциях. Помните, что это не отдельные пакеты, а программы в одном пакете. Единственный раз, когда вам потребуется изменить программы (что на практике довольно тривиально), - это когда команда для установки пакета изменилась. Так что, если пакет А script.msi Я бы создал две программы для этого пакета,

Программа 1, чья команда msiexec /i script.msi /qb ALLUSERS=1

Программа 2, чья команда msiexec /i script.msi

Затем я бы развернул две программы в соответствующих коллекциях. Если пакет А когда-либо должен быть обновлен до новой версии script.msiЯ бы просто оставил имя таким же, а затем обновил бы точку распространения до последней версии. Конечно, вы можете отправить новое необходимое развертывание, чтобы убедиться, что на клиентах установлена ​​последняя версия, но нет необходимости в двух отдельных пакетах.

Другие вопросы по тегам