Установщик Windows

Что нужно знать и уметь перед началом изучения?

Ничего сложного. Если у вас есть опыт администрирования и поддержки небольшой (а лучше большой, иерархической) сети 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, поэкспериментируйте с сохранением файлов и установкой файловых ассоциаций), в дальнейшем эти навыки пригодятся.

Зачем это вам?

Если вы занимаетесь централизованной установкой приложений в сетях Windows, знание формата MSI и умение создавать и редактировать пакеты в этом формате вам может здорово пригодиться при подготовке пакета к развертыванию и диагностике проблем. В Европе и США технология Windows Installer востребована многими крупными заказчиками, поэтому знание MSI может быть плюсом для системного администратора при трудоустройстве.

:/>  Windows 10 или Windows 7 - что лучше установить на ПК в 2019 году - разбираемся с вопросом - - обзоры смартфонов, игры на андроид и на ПК

Немного теории

Теперь самое время взяться за теорию. Не буду дублировать официальную документацию и отдельные полезные статьи по ссылкам ниже, просто попробую перечислить вещи, с которыми нужно разобраться для начала:

  • Таблица Property, код продукта (ProductCode), код пакета (PackageCode), стандартные свойства в MSI;
  • Таблица Upgrade и код обновления (UpgradeCode);
  • Таблицы Feature, Component и их назначение;
  • Таблицы Directory, File, Registry, Shortcut;
  • Способы хранения файлов приложения, поставляемых с MSI-пакетом, таблица Media;
  • Трансформы, их создание и применение из командной строки.

Прочтение документации по указанным темам подкрепляйте экспериментами на готовых пакетах, а со временем можно попробовать

. Этих знаний вам будет достаточно для внесения небольших изменений в MSI-пакеты при подготовке к развертыванию в корпоративной среде (типовые задачи — задание свойств пакета, правка реестра, удаление файлов и ярлыков, отключение кнопки Remove для приложения в Add/Remove Programs).

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

Пожелания, замечания, а также предложения по темам для следующих статей приветствуются.

Обзор утилит и документации

Бесплатно можно использовать простые редакторы MSI-файлов с ограниченным функционалом — здесь упоминания заслуживают классическая Orca от Microsoft и довольно удобный InstEd. Эти редакторы позволяют вносить небольшие изменения в готовые MSI-файлы, создавать и применять трансформы, но создавать в них MSI-пакеты с нуля довольно непросто (а для больших пакетов — и вовсе не имеет смысла).

Специализированные утилиты для выполнения setup capture (создания или конвертирования установочных пакетов из так называемых «старых форматов”» в формат MSI с использованием сравнения «снимков» системы до и после установки приложения или мониторинга изменений в системе «на лету») — бесплатный

, или более серьезный

. MSI-пакетам, созданным с  использованием этих утилит, может потребоваться некоторая доработка, которую можно выполнить с помощью редактора MSI.

Серьёзные полнофункциональные (и весьма дорогие) IDE, обеспечивающие поддержку полного цикла работ с MSI-пакетами — если вы будете заниматься технологией MSI профессионально, вам скорее всего не обойтись без этих программ. В этом сегменте до недавнего времени доминировали два продукта —

:/>  Как изменить яркость экрана на компьютере

Особенности процесса установки

Пользователи, которые применяют инсталляторы, созданные специально для установщика, получают более простой и удобный способ установки программного обеспечения, а также такие опции, как восстановление, откат, установка по требованию, настройка удаления и др.

Процесс установки про помощи установщика состоит из нескольких этапов:

На первом этапе установщик собирает инструкции софта, из которых впоследствии будет сформирован конкретный сценарий действий по установке, состоящий из отдельных этапов. На этапе установки софт использует готовый сценарий, который предполагает отсутствие каких-либо действий или указаний со стороны пользователя.

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

Повторная регистрация сервиса

Существует еще один способ решения подобной проблемы – зарегистрировать службу заново. Для этого необходимо выбрать командную строку. В Windows 8 данная служба доступна в Проводнике», а в Windows 7 командная строка расположена во вкладке стандартных программ. Сюда необходимо ввести ряд команд:

Для 32-битной системы:

  • msiexec /unregister
  • msiexec /register

Для 64-битной:

  • %windir%system32msiexec.exe /unregister
  • %windir%system32msiexec.exe /regserver
  • %windir%syswow64msiexec.exe /unregister
  • %windir%syswow64msiexec.exe /regserver

После этого компьютер необходимо перезапустить, и проблема исчезнет.

Служба установщика Windows предлагает дополнительные опции при работе с разными программами. В случае наличия проблем с программой, это может быть решено при помощи разных способов, в зависимости от конкретной ситуации.

Установщик Windows

Полезные ресурсы:


Статьи по Windows Installer на RSDN:

. Хороши тем, что описывают основные концепции и понятия MSI на русском языке и в довольно читабельной форме. Статьи немного устарели (описывают стандарт 2.0), но актуальности не потеряли. Важно понимать, что только этих статей для изучения MSI недостаточно — нужно много читать MSDN и много практиковаться.

:/>  Программа Chkdsk » Страница 2

 — самый полный источник информации, которая понадобится в процессе изучения и дальнейшей работы. Присутствуют пошаговые

для практики по созданию MSI-пакетов с нуля.

Проблемы с наличием доступа к установщику и способы их решения

В случае, если некоторые компоненты нельзя установить, то возможно не установлен Windows Installer. На это обычно указывает соответствующее сообщение с предложением обратиться в службу поддержки. Подобная опция может быть недоступна в силу разных причин:

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

В первом случае необходимо войти в учетную запись администратора, или, если пользователь использует рабочий компьютер, то попросить у администратора или владельца компьютера соответствующие права. Второй вариант является самым распространенным. Доступа к программе нет потому, что она была случайно удалена пользователем или другим вредоносным программным обеспечением.

Для доступа к службе необходимо выполнить следующие действия:

Необходимо также обратить внимание на то, что в Windows 7 служба запуска может быть изменена при помощи выбора опции автоматического запуска программы, однако в Windows 8 и 8.1 данный вариант заблокирован по умолчанию, и пользователь может только принудительно запустить софт.

Оставьте комментарий

Adblock
detector