Андрей Смирнов
Время чтения: ~23 мин.
Просмотров: 1

Инсталлятор актуал инсталлер

Logical structure of packages

A package describes the installation of one or more full products and is universally identified by a GUID. A product is made up of components, grouped into features. Windows Installer does not handle dependencies between products.

Products

A single, installed, working program (or set of programs) is a product. A product is identified by a unique GUID (the ProductCode property) providing an authoritative identity throughout the world. The GUID, in combination with the version number (ProductVersion property), allows for release management of the product’s files and registry keys.

A package includes the package logic and other metadata that relates to how the package executes when running. For example, changing an EXE file in the product may require the ProductCode or ProductVersion to be changed for the release management. However, merely changing or adding a launch condition (with the product remaining exactly the same as the previous version) would still require the PackageCode to change for release management of the MSI file itself.

Features

A feature is a hierarchical group of components. A feature may contain any number of components and other sub-features. Smaller packages can consist of a single feature. More complex installers may display a «custom setup» dialog box, from which the user can select which features to install or remove.

The package author defines the product features. A word processor, for example, might place the program’s core file into one feature, and the program’s help files, optional spelling checker and stationery modules into additional features.

Components

A component is the basic unit of a product. Each component is treated by Windows Installer as a unit. The installer cannot install just part of a component. Components can contain program files, folders, COM components, registry keys, and shortcuts. The user does not directly interact with components.

Components are identified globally by GUIDs; thus the same component can be shared among several features of the same package or multiple packages, ideally through the use of Merge Modules.

Key paths

A key path is a specific file, registry key, or ODBC data source that the package author specifies as critical for a given component. Because a file is the most common type of key path, the term key file is commonly used. A component can contain at most one key path; if a component has no explicit key path, the component’s destination folder is taken to be the key path. When an MSI-based program is launched, Windows Installer checks the existence of key paths. If there is a mismatch between the current system state and the value specified in the MSI package (e.g., a key file is missing), the related feature is re-installed. This process is known as self-healing or self-repair. No two components should use the same key path.

Можно ли отключить Windows Modules Installer Worker

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

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

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

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

Можно ли удалить папку Windows Installer

 

По моему опыту, обращают внимание на эту папку в основном только тогда, когда на диске(C:) заканчивается свободное пространство, а увеличить его за счёт другого диска по каким-либо причинам нельзя. Тогда пользователи пускаются в эксперименты: производят процесс очистки, переносят на другой диск файл подкачки, отключают спящий режим, уменьшают размер корзины, но это помогает лишь на время и тогда начинается исследование диска (C:) с помощью специальных утилит анализа дискового пространства. Эти приложения быстро показывают самые большие объекты на системном диске, среди которых обычно оказываются папкиC:\Windows\WinSxS иC:\Windows\Installer, последняя удаляется без проблем, вот только спустя некоторое время с виндой начинает твориться что-то неладное, при попытке удаления какой-нибудь программы выходят различные ошибки.

Дело в том, что в этой папке хранится информация о всех программах, обновлениях, исправлениях, распространяемых пакетах и других компонентах, установленных в вашей Windows

Да, данная папка может занимать более 5 Гб дискового пространства, но если её удалить, система перестанет владеть информацией об установленных приложениях, последствия этого могут быть самые разные, но все они достаточно неприятные. Поэтому удалять каталог Installer ни в коем случае нельзя, но его можно значительно уменьшить, так как в нём кроме необходимых системе компонентов хранятся и отработавшие своё файлы. Определить, что можно удалить в этой папке, а что нет,  сможет специальная программа. Также существует более кардинальный вариант, это перенести папку Installer на другой раздел HDD или другой физический диск.

Итак, каталог Windows Installer является не просто скрытой папкой. Всё его содержимое относится к защищённым системным файлам! Чтобы увидеть папку, включите в системе отображение защищённых системных файлов,

В моём случае размер папки почти 6 Гб. Многовато.

Очистка папки Windows Installer

Скачиваем программу PatchCleanerна моём облачном хранилище, устанавливаем и запускаем её.

Происходит моментальный анализ каталога Windows Installer.

Информация 273 files still used, 3.91 Gb, говорит сколько файлов еще необходимы системе и их удалить не получится.

Информация files are orphaned, 2.18 Gb, сколько файлов можно удалить.

Жмем «Delete» и программа начинает работать.

Yes

ОК  

В папке C:\Windows\Installer осталось 273 файла общим размером 3.91 Gb.

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

Перенос папки Windows Installer на другой диск

Копируем папку Installer

на другой диск, к примеру (D:).

Удаляем исходную папку Installer с диска (C:).

Открываем командную строку администратора. 

Вводим команду: 

mklink /j «c:\windows\installer» «d:\Installer»

где d, буква диска, на который мы переносим папку Installer.

В результате на диске (C:) в каталоге Windows, теперь папка Installer со значком стрелочки,

что обозначает местонахождение папки в другом расположении, в нашем случае диске (D:).

Актуальные статьи:

  1. Можно ли удалить папку AppData в Windows
  2. Папка ProgramData, её назначение, можно ли удалить или перенести
  3. Как переместить папку «Рабочий стол» на другой диск

Ошибка установщика Windows

В случае общих проблем не будут устанавливаться никакие msi файлы, процесс установки, скорее всего, даже не начнётся. При этом могут появляться ошибки вида:

  • Нет доступа к службе установщика Windows
  • Не удалось получить доступ к службе установщика Windows
  • Ошибка пакета установщика Windows (1719)

или ещё нечто подобное со словами «ошибка msi», «Windows Installer Error». Всё это означает, что система дала сбой и теперь её надо лечить. Может вы ставили какой-то софт, который испортил системные файлы и реестр, или подхватили вирус. Конечно, никогда не будет лишним удалить вирусы, или убедиться что их нет. Но оставьте этот вариант на потом, т.к. обычно проблема кроется в другом.

Сначала давайте проверим работает ли служба Windows Installer:

  1. Нажмите «Win + R» и введите services.msc
  2. Найдите в конце списка службу «Установщик Windows» или «Windows Installer»
  3. Тип запуска должен быть «Вручную». Если она «Отключена», то зайдите в «Свойства» и выберите «Вручную»
  4. Затем кликните по ней правой кнопкой и выберите «Запустить» или «Перезапустить». Если ошибок нет и состояние переходит в режим «Работает», то здесь всё нормально.
  5. Нажмите «Win + R» и введите msiexec. Если модуль MSI работает нормально, то должно появиться окно с версией установщика и параметрами запуска, а не ошибка.

Следующее что я посоветую сделать – это выполнить команду сканирования системы на повреждённые и изменённые системные файлы. Нажмите «Win + R» и введите

Sfc /scannow

Произойдёт поиск и замена испорченных файлов на оригинальные, при этом может потребоваться вставить установочный диск с Windows XP-7-10. После окончания процесса перегрузитесь и посмотрите, решена ли проблема.

Microsoft сам предлагает утилиту, призванную решить нашу проблему. Запустите программу Easy Fix и следуйте мастеру.

Параметры реестра и службы

Следующий способ устранения ошибки – восстановление рабочих параметров в реестре установщика Windows Installer.

Для этого скачайте архив и запустите оттуда два reg-файла, соответственно своей версии Windows. Согласитесь с импортом настроек.

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

В Windows XP или Windows Server 2000 установите последнюю версию установщика 4.5.

Если не помогло, то проделайте ещё перерегистрацию компонентов:

  1. Нажмите «Win + R» и введите «cmd». Затем в чёрном окне введите последовательно команды:MSIExec /unregisterMSIExec /regserver
  2. В ответ должна быть пустота, никаких ошибок. Если проблема не решена, введите ещё командуregsvr32 msi.dll
  3. Закройте чёрное окно

Если пишет, что не хватает прав, то нужно запускать командную строку от имени Администратора.

Если команды выполнились, но не помогло, то скачайте файл и запустите msi_error.bat из архива, проверьте результат.

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

Также, многие программы используют .NET Framework, поэтому не будет лишним установить последнюю версию этого пакета. И, напоследок,  ещё один совет: если в пути к файлу-дистрибутиву есть хоть одна папка с пробелом в начале названия, то удалите пробел. Такой простой приём решит вашу проблему  

Дополнительная информация

y http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>le=»text-align: justify;»>И еще несколько пунктов, касающихся высокой нагрузки, создаваемой TiWorker.exe:

  • Иногда это может быть вызвано несовместимыми устройствами или их фирменным ПО в автозагрузке, в частности встречалось для HP Support Assistant и служб старых принтеров других марок, после удаления — нагрузка пропадала.
  • Если процесс вызывает мешающую работать нагрузку в Windows 10, но это не является результатом проблем (т.е. проходит само через некоторое время), вы можете установить низкий приоритет для процесса в диспетчере задач: при этом, ему придется дольше выполнять свою работу, но TiWorker.exe будет в меньшей степени влиять на то, что вы делаете за компьютером. 

А вдруг и это будет интересно:

Логическая структура пакета

Инсталляционный пакет описывает установку одного продукта и имеет свой GUID. Продукт состоит из компонентов (components) (тоже имеющих свои GUID’ы), сгруппированных в возможности (features).

Компонент (component) — минимальная неделимая установочная единица, представляющая собой группу файлов, значений реестра, создаваемых папок и других элементов, объединённых общим именем (именем компонента) и либо устанавливаемых вместе, либо не устанавливаемых. Компоненты скрыты от конечного пользователя. Каждый компонент имеет ключевой путь (key path) — например, имя своего главного файла — по которому определяется наличие этого компонента на компьютере пользователя.

Возможность (feature; в русифицированной версии Windows именно это слово переводится как «компонент», что вносит путаницу) — это иерархическая группа компонентов и/или других возможностей. Когда при установке показывается диалог выбора устанавливаемых частей программы, пользователь управляет выбором именно возможностей. Выбор возможности для установки влечёт за собой установку всех компонентов, которые в неё включены.

Переустанавливаем Windows 8

При покупке ноутбука или персонального компьютера в магазине, на новых моделях будет предустановленна последняя версия операционной системы. К сожалению, в настоящий момент это Windows 8, признанная неудачной даже самими разработчиками. И тут начинаются проблемы. Дело в том, что в сервисе или самом магазине пользователю не поставят ту операционную систему, которую он хочет бесплатно. Человек платит за ноутбук с Windows 8, его он и получает. И даже если он отнесёт его в сервис, то ему там опять-таки предложат поставить «восьмёрку». Дело в том, что магазины пользуются тем, что заменить Windows 8 на «семёрку» очень хлопотно, а у некоторых производителей практически невозможно, поэтому люди продолжают страдать от зависаний и критических ошибок новой операционной системы. Однако выход есть всегда. Давайте рассмотрим, как запустить установщик Windows 7 на ноутбуке с предустановленной «восьмёркой».

Первым делом, заходим в БИОС. Для этого при загрузке ОС зажимаем необходимую кнопку. Именно зажимаем, а не нажимаем. На многих ноутбуках время, отведённое на эту операцию, составляет порядка 200 мс.

В панели управления БИОС отключаем защиту от переустановки. Для этого во вкладке «Безопасность» выставляем параметр «Secure Boot» в положение «Отключен». Во вкладке «Advanced» заходим в конфигурацию системы и там устанавливаем «Boot Mode» в режим «Legacy» или «CSM». Сохраняем и выходим из БИОСа. Теперь проделав теже самые операции, что и при обычной установке Windows 7, доходим до окна с выбором жесткого диска. Там смело удаляем все разделы и создаём новые под себя.

Как правильно очистить папку windows installer

Перед всеми нашими манипуляциями, вы должны обязательно выполнить вот что:

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

Для того, чтобы правильно очистить каталог C:WindowsInstaller, можно воспользоваться бесплатной утилитой PatchCleaner.

Как работает PatchCleaner. Операционная система Windows содержит список текущих установщиков и патчей, к которым можно получить доступ через вызовы WMI ( Инструментарий управления Windows ). PatchCleaner получает этот список известных файлов msi/msp и сравнивает их со всеми файлами msi/msp, которые находятся в каталоге c:WindowsInstaller. Все, что находится в папке, но не в списке, представленном окнами, считается сиротскими файлами и помечено для перемещения или удаления.

Производим установку PatchCleaner , для очистки места на RDS ферме. На пермом экране мастера установки, нажмите «Next».

Принимаем лицензионное соглашение «I Agree»

Указываем для каких пользователей будет устанавливаться PatchCleaner.

Установка PatchCleaner завершена, запускаем ее.

После запуска, утилита проведет сканирование. У вас будет два показателя:

  1. Общее количество пакетов в папке Installer
  2. Количество устарелых файлов

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

Нажав на кнопку «details», вы увидите более подробный список, устаревших пакетов msp, прочитать к каким программам, они относились.

Чтобы запустить процесс освобождения дискового пространства на ферме RDS и уменьшить размер папки C:WindowsInstaller, нажмите кнопку «Move».

Вас спросят, хотите ли вы этого, нажимаем yes

Все уменьшение папки Installer выполнено.

Видим, что больше в системе нет устаревших файлов.

В папке с резервной копией, теперь лежат ваши устаревшие файлы.

Если вы не хотите производить чистку Windows Installer, или просто боитесь это делать, но располагаете в системе другим, дополнительным диском, на котором есть свободное место, то можете перенести C:WindowsInstaller на него, для этого можно воспользоваться символическими ссылками, мы их уже использовали когда переносили OST файл в Outlook.

Предположим у меня есть еще диск E:, и на нем есть 100 гб свободного места и я бы хотел на него перенести системную папку, для этого открываем командную строку с правами администратора и вводим команду, но перед этим ОБЯЗАТЕЛЬНО, скопируйте C:WindowsInstaller в E:Installer.

Теперь если вы зайдете в каталог C:WindowsInstaller, то увидите на папке стрелочку в левом углу, это означает, что это символическая ссылка, ведущая в другое место. Надеюсь с папкой Installer мы разобрались, и очистили часть места на RDS ферме.

Подпись пакета приложенияSigning the app package

Чтобы пользователи могли установить ваше приложение, необходимо подписать пакет приложения с помощью доверенного сертификата.For users to install your app, you will need to sign the app package with a trusted certificate. Чтобы подписать пакет приложения, можно использовать сторонний платный сертификат доверенного центра сертификации.You can use a third party paid certificate from a trusted certification authority to sign your app package. Если используется сторонний сертификат, для установки и запуска вашего приложения пользователю потребуется перевести устройство в режим загрузки неопубликованных приложений или режим разработчика.If a third party certificate is used, the user will need to have their device in either sideload or developer mode to install and run your app.

Если приложение развертывается для сотрудников организации, для подписи приложения можно использовать изданный этой организацией корпоративный сертификат.If you are deploying an app to employees within an enterprise, you can use an enterprise issued certificate to sign the app

Важно отметить, что корпоративный сертификат необходимо развертывать на любых устройствах, на которых будет установлено приложение.It’s important to note that the enterprise certificate must be deployed to any devices which the app will be installed on. Для получения дополнительной информации о развертывании корпоративных приложений обратитесь к разделу Управление корпоративными приложениями.For more information on deploying enterprise apps, see Enterprise app management

Физическая структура пакета

Файл .msi представляет собой составной документ OLE (OLE compound document — в том же формате-контейнере хранятся документы Microsoft Word, Excel и т. д.), в котором содержится небольшая реляционная база данных — набор из нескольких десятков взаимосвязанных таблиц, содержащих различную информацию о продукте и процессе установки. При этом все строковые данные в базе хранятся вместе в отдельном потоке документа, а в таблицах базы на них имеются ссылки; таким образом избегают дублирования строк, что значительно уменьшает размер базы.

Кроме базы, структура файла .msi предусматривает помещение туда пользовательских сценариев и вспомогательных DLL, если таковые требуются для установки, а также самих устанавливаемых файлов, запакованных в формате .cab. Файлы можно размещать и отдельно от пакета, в запакованном или распакованном виде (с сохранением структуры каталогов).

Схема активации протоколаProtocol Activation Scheme

В этом механизме Установщик приложений регистрируется в операционной системе для получения схемы активации протокола.In this mechanism, App Installer registers with the operating system for a protocol activation scheme. Когда пользователь щелкает веб-ссылку, браузер сверяется с ОС на наличие приложений, зарегистрированных по этой веб-ссылке.When user clicks on a web link, the browser checks with the OS for apps that are registered to that web link. Если схема соответствует схеме активации протокола, указанной Установщиком приложений, вызывается Установщик приложений.If the scheme matches the protocol activation scheme specified by App Installer, then App Installer is invoked

Важно отметить, что этот механизм не зависит от браузера.It’s important to note that this mechanism is browser independent. Это полезно для администраторов сайтов, которым не нужно учитывать различия между веб-браузерами при внедрении этого механизма в веб-страницу.This is beneficial to site administrators, for example, who don’t need to consider web browser differences while incorporating this into a webpage

Требования для схемы активации протоколаRequirements for protocol activation scheme

  1. Веб-серверы должны иметь поддержку запросов диапазона байтов (HTTP/1.1)Web servers need to have support for byte range requests (HTTP/1.1)

    Серверы, поддерживающие протокол HTTP/1.1, должны иметь поддержку запросов диапазона байтов.Servers that support HTTP/1.1 protocol should have support for byte range requests

  2. Веб-серверы должны знать о типах содержимого пакета приложений Windows 10Web servers will need to know about the Windows 10 app package content types

    Вот как объявить новые типы содержимого как часть файла веб-конфигурацииHere’s how to declare the new content types as part of web config file

Как включить этот механизм на веб-страницеHow to enable this on a webpage

Разработчики приложений, которым требуется разместить пакеты приложений на веб-сайтах, должны сделать следующее.App developers who want to host app packages on their web sites need to follow this step:

При размещении ссылки на уникальные идентификаторы ресурса пакетов приложений на веб-странице им должен предшествовать префикс схемы активации, на котором зарегистрирован Установщик приложений.Prefix your app package URIs with the activation scheme that App Installer is registered to when referencing them on your webpage. Подробные сведения см. в примере веб-страницы MyApp.See the example for MyApp Web Page for details.

What Users Say:

“I do believe your software installer is one of the best that I have experienced on the market and I would be happy to endorse Actual Installer and I will recommend it to anyone who asks for my suggestion regarding this type of software.”
Gregory Lomb
“Among all of the Windows installer tools our company tried, Actual Installer stood out as being the most straight-forward, compact, and absolutely the easiest application to use. The instruction set is clearly written; the documentation is easy to understand. After trying numerous other applications and subsequently drowning in poorly written instructions for kludged GUI, we had nearly decided to outsource our needs. But thankfully we tried just one more installation software. Actual Installer was everything we needed.”
Don Sievert, Legion LTD.
“I downloaded the Actual Installer Free edition, and built first installation of my software in less than 5 minutes. I really like this tool, it did exactly what I needed, and it is intuitive to learn and use. I will recommend your tool to everyone I know who needs software installation. Thank you for providing a cost effective and expeditious solution for me.”
Ted Zahn, ZandZ Technologies

Установщик Windows продолжает появляться

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

Этот пост, вероятно, будет вызывать больше вопросов, чем ответов — это то, что вы должны будете ответить самостоятельно, и это может показать вам направление работы.

1] Завершить процесс вручную и посмотреть, появится ли он снова в текущем сеансе или при перезапуске. Для этого щелкните правой кнопкой мыши на панели задач и выберите диспетчер задач. На вкладке Процесс вы можете увидеть процесс msiexec.exe . Щелкните правой кнопкой мыши по нему и выберите «Завершить задачу». Это завершит процесс установщика Windows.

2] Убедитесь, что установлена ​​ последняя версия установщика Windows. Щелкните правой кнопкой мыши файл msiexec.exe , в папке System32 выберите Свойства> Сведения. Последняя версия на момент написания — 5.0.10586.0.

3] Возможно, ваш файл установщика Windows был поврежден . Запустите проверку системных файлов и перезагрузите компьютер после завершения сканирования. См. Этот пост, если доступ к службе установщика Windows невозможен.

4] Теперь спросите себя, устанавливали ли вы новое программное обеспечение в последние день или два? Если так, возможно, какой-то фоновый процесс или обновление все еще продолжается. Дайте установщику Windows время для запуска и посмотрите, не отключится ли он через некоторое время.

5] Когда вы устанавливали программное обеспечение, устанавливало ли оно сторонние предложения ? Проверьте панель управления. Может быть, они устанавливаются. Проверьте, входит ли какое-либо программное обеспечение, которое вы установили или обновили недавно, в комплект другого программного обеспечения. Если это так, возможно, он использует этот процесс. Вы можете удалить ненужные приложения.

6] Вы скачали или установили что-нибудь сомнительное? Возможно, что-то устанавливает вредоносное ПО или PUP в вашей системе. Запустите полное сканирование с помощью антивирусного программного обеспечения вместе с AdwCleaner, который является хорошим инструментом для удаления PUP, угонщиков браузера и рекламного ПО. Если msiexec.exe находится в папке C: \ Windows \ System32, то это законный процесс Microsoft. Если он находится в любой другой папке, это может быть вредоносное ПО, поскольку файлы вредоносного ПО могут дать мне любое имя.

7] Вы также можете рассмотреть возможность перерегистрации механизма установщика Windows . Для этого откройте командную строку, введите следующую команду и нажмите Enter:

 msiexec/unregister 

Теперь, чтобы зарегистрировать его снова, введите следующее и нажмите Enter.

 msiexec/regserver 

8] Загрузите Устранение неполадок при установке и удалении программы . Этот инструмент заменяет утилиту очистки установщика Windows, которая была прекращена. Этот инструмент поможет вам исправить потенциальные проблемы с установщиком Windows.

В частности, это решит следующие проблемы:

  1. Проблемы, препятствующие установке, удалению или обновлению новых программ
  2. Поврежденные ключи реестра, связанные с этими проблемами.

Это средство устранения неполадок работает в Windows 10/8.1/8/7.

Дайте нам знать, если что-то помогло, или если у вас есть другие предложения.

Хотите узнать, как заставить установщик Windows работать в безопасном режиме?

История

Windows Installer был разработан в 1995—1998 годах и имел вначале кодовое название Darwin. Ранние версии назывались Microsoft Installer, отсюда стандартное расширение файла инсталляционного пакета — .msi.

Первая версия Installer’а вышла в начале 1999 в качестве инсталлятора Microsoft Office 2000. В конце того же года Installer стал частью Windows 2000. Майкрософт всячески поощрял переход разработчиков на новый инсталлятор, включив в список требований к программам, желающим получить так называемый знак Windows 2000 Logo, требование устанавливаться с помощью Windows Installer.

Windows Installer оказался значительным шагом вперёд по отношению к предыдущему инсталлятору Microsoft — Setup API (ACME Setup): в нём были введены возможности GUI, поддержка деинсталляции и отката в любой момент установки (включая откат во время деинсталляции), корректная работа с правами доступа в Windows и другие возможности, что сделало его сильной альтернативой различным существовавшим на рынке инсталляционным пакетам.

В будущих обновлениях будет представлен .MSIX, который станет своеобразным гибридом .APPX и .MSI, позволяющий инсталлировать UWP приложения в систему (Сейчас же это возможно только непосредственно через Microsoft Store)

Прочие возможности

Анонсирование и установка по требованию

Установщик Windows может рекламировать продукт, а не устанавливать его. Продукт появится у пользователя, но он фактически не будет установлен до тех пор, пока он не будет запущен в первый раз (с помощью ярлыка в меню «Пуск»). Установочный пакет может быть объявлен администратором с использованием групповой политики Windows, или другого механизма компилирования, или путём запуска исполняемого файла msiexec с помощью /jm (для рекламы для каждого устройства), или /ju (для рекламы для каждого пользователя). Некоторые пакеты MSI, созданные в InstallShield, могут помешать использованию этих, и других встроенных функций MSI.

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

Установка по требованиям

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

Процесс установки

Процесс установки состоит из нескольких этапов — сбора информации, выполнения (собственно установки), а также, возможно, отката (в случае ошибки или отмены установки пользователем).

Действия

Каждый этап установки состоит из последовательности действий (actions), записанной в базе данных. Действиям присвоены номера, определяющие порядок их выполнения, а иногда — и условия, при которых действия выполняются или не выполняются.

Большая часть действий — это стандартные действия, характерные для типичного процесса сбора информации и установки. Все эти действия документированы, кроме них, пользователь может определить и свои действия (custom actions).

Действия, определённые пользователем, могут быть либо написаны на одном из скриптовых языков, встроенных в операционную систему (JScript или VBScript так же и Eclipse, побочный язык от C++), либо размещаться в специально созданной DLL (написанной на таких языках, как C, C++ и т. д.). Файлы с этими действиями помещаются внутрь файла .msi и извлекаются оттуда в начале запуска установки. Эти DLL извлекаются в каталог Windows\Installer, при этом им присваиваются случайные имена, например MSIF65E.tmp.

Сбор информации

На этапе сбора информации Windows Installer собирает инструкции (либо путём взаимодействия с пользователем, либо программным путём) установить или удалить одну или несколько возможностей, входящих в продукт. Эти инструкции в дальнейшем формируют на основе базы данных внутренний сценарий, детально описывающий последующий этап выполнения.

Этот этап называют также непосредственным режимом (immediate mode).

Выполнение

К началу этого этапа инсталлятор генерирует внутренний сценарий, предназначенный для выполнения без вмешательства пользователя. Этот сценарий выполняется инсталлятором в привилегированном режиме службы NT (конкретно — под аккаунтом LocalSystem). Привилегированный режим требуется из-за того, что инсталляция могла быть запущена пользователем, не обладающим необходимыми правами для изменения системных параметров и файлов (хотя право установить программу ему было предоставлено).

Этот этап иногда называется отложенным режимом (deferred mode).

Откат

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

Versions

Version Included with Also available for
1.0 Office 2000 N/A
1.1 Windows 2000 RTM, SP1, SP2

Office XP

Windows 95, Windows 98Windows NT 4.0
1.2 Windows Me N/A
2.0 Windows XP RTM, SP1Windows 2000 SP3, SP4Windows Server 2003 RTM Windows 9xWindows NT 4.0Windows 2000
3.0 Windows XP SP2 Windows 2000Windows XPWindows Server 2003
3.1 Windows XP SP3Windows Server 2003 SP1, SP2Windows XP Professional x64 Edition Windows 2000Windows XPWindows Server 2003
4.0 Windows Vista RTM, SP1Windows Server 2008 RTM N/A
4.5 Windows Vista SP2Windows Server 2008 SP2 Windows XPWindows Server 2003Windows XP Professional x64 EditionWindows VistaWindows Server 2008
5.0 Windows 7 and laterWindows Server 2008 R2 and later N/A
Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации