Использование установщика Windows
В этом разделе описывается использование установщика Windows для упорядочения приложений по компонентам и скачивания приложения из расположения в Интернете:
- Упорядочение приложений по компонентам
- Скачивание установки из Интернета
- Установка нескольких пакетов
- Одновременные установки
- Настройка установки и удаления программ с помощью установщика Windows
- Использование корпусов и сжатых источников
- Использование квалифицированных компонентов
- Использование транзитивных компонентов
- Локализация пакета установщика Windows
- Поиск существующих приложений, файлов, записей реестра или .ini записей файлов
- Создание большого пакета
- Определение контекста установки
- Проверка установки компонентов, компонентов и файлов
- Проверка CRC во время установки
- Установка постоянных компонентов, файлов, шрифтов, разделов реестра
- Удаление цепочки файлов
- Поиск неработаемого компонента или компонента
- Замена существующих файлов
- Редактирование ярлыков установщика
- Установка нескольких экземпляров продуктов и исправлений
- Использование установщика Windows с сервером терминалов
- Управление состояниями выбора компонентов
- Рекомендации по созданию безопасных установок
- Использование изолированных компонентов
- Определение версии установщика Windows
- Установка приложения COM+ с помощью установщика Windows
- Добавление или удаление разделов реестра при установке или удалении компонентов
- Добавление и удаление приложения и отсутствие трассировки в реестре
- Уменьшение размера файла .msi
- Изменение целевого расположения для каталога
- Скрытие кнопки «Отмена» во время установки
- Использование установщика Windows с UAC
- Использование установщика Windows с диспетчером перезапуска
- Использование установщика Windows с инструментарием WMI
- Перечисление компонентов
- Использование конфигурации служб
- Создание одного пакета
Обратная связь
Были ли сведения на этой странице полезными?
Обратная связь
Отправить и просмотреть отзыв по
Сведения о установщике Windows в 64-разрядных операционных системах
Установщик Windows работает как услуга на компьютерах с 32-разрядной или 64-разрядной версией Windows. Версии установщика, предшествующие версии 2.0, могут устанавливать 32-разрядные пакеты установщика Windows и управлять ими только в 32-разрядных операционных системах. Обратите внимание, что вы не можете объявить или установить 64-разрядное приложение в 32-разрядной операционной системе.
Пакет установщика Windows должен быть указан как 32-разрядный или 64-разрядный пакет; Его нельзя указать как нейтральный. На компьютере с 64-разрядной операционной системой служба установщика Windows размещается в 64-разрядном процессе, который устанавливает как 32-разрядные, так и 64-разрядные пакеты. Установщик Windows устанавливает три типа пакетов установщика Windows на компьютере под управлением 64-разрядной операционной системы:
- 32-разрядные пакеты, содержащие только 32-разрядные компоненты.
- 64-разрядные пакеты, содержащие некоторые 32-разрядные компоненты.
- 64-разрядные пакеты, содержащие только 64-разрядные компоненты.
В следующих разделах описаны два типа пакетов установщика Windows и новые свойства установщика, предоставляемые установщиком Windows для 64-разрядных пакетов.
С чего начать изучение Windows Installer?
Технология Windows Installer (MSI) является стандартом де-факто в мире системных администраторов, занимающихся распространением и поддержкой программного обеспечения для десктопных и серверных версий Windows. Формат MSI поддерживается всеми крупнейшими системами управления конфигурациями (Microsoft SCCM, CA Unicenter и многими другими), а для некоторых систем распространения ПО — является единственным поддерживаемым форматом.
Мой опыт работы с этой технологией — как теоретический, так и практический — приобретен за время работы в компании «Инфопульс Украина» и связан с созданием MSI-пакетов и подготовкой готовых MSI-пакетов к автоматической установке в корпоративной среде.
Зачем это вам?
Если вы занимаетесь централизованной установкой приложений в сетях Windows, знание формата MSI и умение создавать и редактировать пакеты в этом формате вам может здорово пригодиться при подготовке пакета к развертыванию и диагностике проблем. В Европе и США технология Windows Installer востребована многими крупными заказчиками, поэтому знание MSI может быть плюсом для системного администратора при трудоустройстве.
Что нужно знать и уметь перед началом изучения?
Ничего сложного. Если у вас есть опыт администрирования и поддержки небольшой (а лучше большой, иерархической) сети Windows-машин, вероятнее всего вы уже сталкивались с основными вопросами и понятиями, которые вам понадобятся. Перед тем, как начать, убедитесь, что вы хорошо понимаете структуру файловой системы Windows, структуру профиля пользователя и структуру реестра, знаете что такое процессы и службы в Windows, умеете управлять учетными записями пользователей и знаете где находятся журналы событий. Для того, чтобы научиться создавать пакеты MSI, вам совсем необязательно иметь опыт разработчика, хотя конечно лучше если такой опыт у вас есть. И совсем не обязательно уметь писать запросы на SQL, хотя это тоже может пригодиться (ведь каждый MSI-файл — это небольшая реляционная база данных). Но обязательно нужно уметь читать и понимать техническую документацию на английском, без этого скорее всего ничего не получится. При изучении теории (и при создании пакетов на практике) постарайтесь хотя бы на первых порах строго следовать стандартам Windows Installer, избегая вспомогательных утилит типа InstallShield/InstallScript, так вы лучше поймёте как правильно создать MSI-пакет.
Готовим песочницу и начинаем практику
Начать нужно с установки и настройки виртуальной машины. В процессе обучения вам придется немало поэкспериментировать, поэтому лучше сделать это в песочнице. Если нужны бесплатные продукты — устанавливаем VirtualBox или VMWare Player (для профессиональных задач их функционала может быть недостаточно, но для обучения — вполне подойдет). В виртуальной машине, естественно, нужно установить Windows на ваш выбор (XP и выше).
Если у вас уже есть опыт работы с утилитами от Sysinternals — прекрасно. Если нет — самое время восполнить пробел. Нам понадобятся минимум две: для отслеживания файловой и реестровой активности приложения при установке или во время его работы — Process Monitor, для запуска инсталляции от имени учетной записи LocalSystem — PsExec. Попрактикуйтесь использовать эти утилиты на простом приложении типа notepad (с какими ресурсами работает notepad при открытии файла, при сохранении файла; запустите notepad от имени пользователя LocalSystem, поэкспериментируйте с сохранением файлов и установкой файловых ассоциаций), в дальнейшем эти навыки пригодятся.
Установите Panda QuickShot или другой софт для сравнения состояний системы. Разберитесь с основным функционалом, научитесь отслеживать файловые и реестровые изменения в системе при установке нового приложения или изменении параметров системы (самое простое — зарегистрируйте новую файловую ассоциацию для notepad, измените обои рабочего стола и отследите где хранятся эти настройки). Подойдите к этому творчески, поле для экспериментов обширное.
Скачайте MSI-инсталлятор какого-нибудь несложного приложения (например, Orca, InstEd или Firefox). Установите пакет на виртуальной машине, с помощью описанных выше утилит изучите устанавливаемые им ресурсы. Научитесь пользоваться командной строкой Windows Installer (msiexec /?), поэкспериментируйте с различными опциями установки и сравните результат. Выполните удаление приложения из командной строки, установите пакет в автоматическом (silent) режиме.
Установите InstEd или Orca на хост-машине. Откройте MSI-пакет, который вы устанавливали на виртуальной машине, с помощью одной из этих утилит. Сравните записи основных таблиц в MSI-пакете (File, Directory, Registry) с ресурсами (файлы, папки, ключи реестра), установленными этим пакетом на вашей виртуальной машине (результат сравнения снимков состояний с помощью Panda QuickShot).
Немного теории
- Таблица Property, код продукта (ProductCode), код пакета (PackageCode), стандартные свойства в MSI;
- Таблица Upgrade и код обновления (UpgradeCode);
- Таблицы Feature, Component и их назначение;
- Таблицы Directory, File, Registry, Shortcut;
- Способы хранения файлов приложения, поставляемых с MSI-пакетом, таблица Media;
- Трансформы, их создание и применение из командной строки.
Обзор утилит и документации
Бесплатно можно использовать простые редакторы MSI-файлов с ограниченным функционалом — здесь упоминания заслуживают классическая Orca от Microsoft и довольно удобный InstEd. Эти редакторы позволяют вносить небольшие изменения в готовые MSI-файлы, создавать и применять трансформы, но создавать в них MSI-пакеты с нуля довольно непросто (а для больших пакетов — и вовсе не имеет смысла). Но если вы действительно хотите изучить технологию MSI, вам просто необходимо собрать пару простых пакетов в InstEd или Orca и выполнить их валидацию на соответствие стандарту Windows Installer.
Специализированные утилиты для выполнения setup capture (создания или конвертирования установочных пакетов из так называемых «старых форматов»» в формат MSI с использованием сравнения «снимков» системы до и после установки приложения или мониторинга изменений в системе «на лету») — бесплатный AppDeploy Repackager, или более серьезный MSI Generator. MSI-пакетам, созданным с использованием этих утилит, может потребоваться некоторая доработка, которую можно выполнить с помощью редактора MSI.
Серьёзные полнофункциональные (и весьма дорогие) IDE, обеспечивающие поддержку полного цикла работ с MSI-пакетами — если вы будете заниматься технологией MSI профессионально, вам скорее всего не обойтись без этих программ. В этом сегменте до недавнего времени доминировали два продукта — AdminStudio от Flexera и Wise Package Studio от Symantec, но недавно Symantec объявил о прекращении работ по развитию Wise Package Studio, и рынок переходит в руки Flexera. Кроме работы с MSI, AdminStudio позволяет работать с виртуальными пакетами форматов Microsoft App-V, VMware Thin App и Citrix XenApp. Для ознакомительных целей доступна пробная 21-дневная версия.
Отдельно стоит упомянуть WIX (Windows Installer XML) — набор утилит для создания MSI-файлов из XML-описаний. Этот проект был выпущен «Майкрософтом» под открытой лицензией Common Public License, поддерживает интерфейс командной строки и может использоваться для автоматизации создания версий инсталляционных пакетов. Хорошее описание есть на Хабре.
Полезные ресурсы:
- Виртуальные машины: VirtualBox или VMWare Player.
- Утилиты Sysinternals: Process Monitor, PsExec, полный список утилит с описаниями.
- Программы для редактирования MSI-файлов: InstEd, Orca (нужно устанавливать как часть Windows 7 SDK).
- Программы для создания MSI-файлов: AppDeploy Repackager, MSI Generator, AdminStudio (пробная версия).
- MSI
- Windows Installer
- установка приложений
При подготовке материала использовались источники:
https://learn.microsoft.com/ru-ru/windows/win32/msi/using-windows-installer
https://learn.microsoft.com/ru-ru/windows/win32/msi/about-windows-installer-on-64-bit-operating-systems
https://habr.com/ru/companies/infopulse/articles/134119/