Назад | Перейти на главную страницу

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

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

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

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

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

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

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

Программа 2, команда которой msiexec /i script.msi

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