Технология установщика Windows поддерживает административную установку. Командная строка для запуска административной установки: " msiexec/a setup.msi". Я хочу понять цель этого типа установки и в каких сценариях они полезны?
Какова цель административной установки, инициированной с помощью msiexec/a?
Ответ 1
В реальном мире он не имеет такой ценности. MSI был разработан еще в один день, когда на компьютере обычно был жесткий диск емкостью 2-20 гб. Они придумали все эти сценарии рекламы "запуска из источника", которые тогда казались действительно классными, но никогда в действительности не попадались в реальном мире.
Сегодня, что для меня, разработчика установки, дает мне простой способ "извлечь" MSI и проверить его содержимое. Что об этом.
Ответ 2
Административная установка: добавление некоторых практических примеров.
1)
Тихая работа извлечения (без графического интерфейса):msiexec.exe /A MySetup.msi TARGETDIR=D:\Extract\ /QN /L*V D:\Extract.log
2)
Интерактивное извлечение (настройка GUI для извлечения):msiexec.exe /A MySetup.msi
Быстрое объяснение параметров:
- /A - run administrative installation sequence. - /QN - run completely silently (alternatively: /QB! for semi-silent). - /L*V "Extract.log" - create verbose log file. - TARGETDIR - destination path for file extraction (top level folder).
3)
Некоторые файлыsetup.exe
могут запускать административную установку черезsetup.exe/a
Образцы командной строки Setup.exe: Извлечение MSI из EXE
- Настройка извлечения файла, альтернатива
msiexec.exe командная строка:
-
Msiexec (command-line options)
- обзор MSDN. - Вот
the Technet version
.
Назначение административных установок
Административные установки обычно наиболее полезны в сценариях крупномасштабного развертывания, когда программное обеспечение устанавливается на многих компьютерах одновременно, например, в большом банке с тысячами рабочих станций. На самом деле это очень важно для таких сценариев развертывания. Как упаковщик приложений, первое, что вы склонны делать, это установить администратором, чтобы проверить содержимое и структуру файла MSI.
Операции в административной установке
Сама программа установки администратора просто извлекает файлы из внутренних файлов cab и настраивает медиа -формат файла MSI, чтобы использовать извлеченные файлы для установки вместо внутренних файлов cab. Конечным результатом является аккуратная иерархия папок, показывающая, куда файлы будут попадать в целевую систему, и файл MSI меньшего размера, чем исходный, теперь очищенный от внутренних cab файлов. Операция не вносит никаких изменений в целевую систему, кроме этого извлечения, если MSI не спроектирован специально для этого, что является серьезной ошибкой проектирования почти во всех случаях. Исключения, вне моей головы, могут включать в себя настройку файлов лицензирования или пост-обработку файлов для развертывания каким-либо образом. Я никогда не видел таких конструкций в реальной жизни, но есть возможность добавить пользовательские действия для установок администратора.
Использование административных установок
После установки администратором извлеченные файлы можно поместить в общую сетевую папку, доступную с тысяч рабочих станций, и установить ее оттуда. Обычно это делается с помощью специализированного программного обеспечения для развертывания, такого как SCCM (ранее Microsoft SMS) или аналогичного. Однако в некоторых случаях установка может быть инициирована пользователем на рабочей станции вручную. Критическим преимуществом этой установки общего сетевого ресурса является то, что операции самовосстановления и последующие установки исправлений и обновлений на рабочие станции имеют доступ к исходным исходным файлам, поэтому установки завершаются успешно. Возможно, вы столкнулись с тем, что Microsoft Office внезапно попросит вас вставить установочные компакт-диски, чтобы переустановить несколько файлов. Это может произойти и с рабочими станциями, если источники не будут доступны в Интернете. Это требование к источнику может измениться в будущем, так как Microsoft кэширует все больше и больше содержимого программы установки на каждом локальном компьютере (Windows 7 и более поздние версии, ОБНОВЛЕНИЕ, январь 2018 г. Более подробные сведения об этом кэшировании см. В этом ответе. Почему для продолжения MSI требуется исходный MSI файл? с деинсталляцией?). Я должен добавить, что вы также можете поместить неэкстрагированный MSI файл в такое место, не распаковывая его через образ администратора, но установка с помощью администратора позволяет загружать любой файл отдельно (без огромной загрузки из кабины). Для огромных файлов MSI это важно, и я предпочитаю образы администратора в качестве источника установки, чтобы сделать исправление более надежным - это субъективное предпочтение, но оно связано с реальным опытом.
Административные установки и исправления
Наконец, для создания патчей MSI обычно требуется установка администратора для исходной установки, а также для новой установки. Затем создается файл исправления установщика Windows на основе различий между новой и старой папками установщика. Как таковые установки администратора имеют решающее значение для последующего создания файлов исправлений. Это относится к Wise for Windows Installer - единственному продукту, который я нашел для создания действительно надежных исправлений в реальной жизни (этот продукт уже не в продаже, некоторые подробности здесь: какой установочный продукт использовать? InstallShield, WiX, Wise, Advanced Установщик и т. Д.). Опять субъективное наблюдение, основанное на всесторонних реальных испытаниях.
Также возможно установить исправление установки администратора, если вы получаете MSI и MSP (файл пути) от поставщика. Вы извлекаете MSI и исправляете образ администратора с помощью MSP. Целевая папка будет тогда содержать более новый MSI и любые новые файлы (при условии, что исправление администратора работает, что обычно не происходит в моем опыте).
"Беги от источника"
Крис упоминает "Запускать из исходного кода", и это действительно довольно бесполезная и устаревшая концепция, когда некоторые файлы в инсталляции могут быть оставлены на общем сетевом ресурсе и доступны прямо оттуда. Честно говоря, я не пробовал эту функцию в течение многих лет.
Эта функция используется редко, но я полагаю, что она может быть полезна в сценариях, где общий набор файлов ресурсов должен быть доступен для всех рабочих станций, и вы хотите избежать массового дублирования. Исправления к файлам ресурсов могут быть затем развернуты с помощью "патча установки администратора", как описано выше, без переустановки чего-либо на рабочие станции (насколько хорошо это работает, неясно - причиной может быть отсутствие использования этой функции).
Большой набор программного обеспечения с множеством разнородных модулей, в которых разные люди используют лишь немногие, может значительно ускорить установку и использование, установив лишь несколько необходимых функций, а оставшуюся можно будет запускать из исходного кода или устанавливать при первом использовании. Это ускорит установку и последующие установки исправлений и может оставить потенциально небезопасные и ненужные двоичные файлы вне системы. Этот последний момент может быть важен в закрытых средах. Однако в реальной жизни я видел, как исправления изменяют объявленные функции для локальной установки после исправления, что является очень странным и нежелательным поведением, но очень распространенным в опыте. На практике я нахожу "запуск из источника" или рекламируемые функции очень ограниченным использованием. Обычно лучше разбить установку на две части, одну для клиента и одну для установки сервера.
ОБНОВЛЕНИЕ:
Вот новое краткое изложение той же проблемы: установка администратора и его использование (извлечение файлов и далее). Пожалуйста, прочитайте также комментарий ниже "изменилось поведение MSI в Windows 7 и более поздних версиях".
Ответ 3
Скажите, что вам нужно установить продукт X на некоторое количество машин, и вам также понадобится применить некоторые исправления для X. Вместо того, чтобы применять ряд патчей на каждой машине, вы можете сделать это:
- Создайте административный образ для X
- Применить патчи к административному изображению
- Установите X на каждом компьютере с помощью исправленного изображения
Это может сэкономить время и силы, и вы узнаете, что все ваши компьютеры наверняка будут на одном уровне патчей.