Загрузка начальной стадии
В настоящее время каждая установка, которая пытается использовать установщик Windows, начинается с проверки того, присутствует ли установщик на компьютере пользователя, и если он отсутствует, будет ли пользователь и компьютер готовы установить установщик Windows. Приложение установки Instmsi.exe доступно в пакете SDK установщика Windows, который содержит все логики и функциональные возможности для установки установщика Windows. Однако начальное приложение должно управлять этой установкой.
Приложение начальной загрузки должно сначала проверить, установлен ли установщик Windows в данный момент. Приложения могут получить версию установщика Windows, установленную в настоящее время, с помощью DllGetVersion. Если установщик Windows в настоящее время не установлен, загрузочное приложение должно запрашивать операционную систему, чтобы определить, какая версия Instmsi.exe требуется. После запуска установки установщика Windows загрузочное приложение должно обрабатывать коды возврата из приложения Instmsi.exe и обрабатывать все перезагрузки, возникающие во время установки установщика Windows. Дополнительные сведения см. в разделе Определение версии установщика Windows
В следующем примере показано, как приложение установки, которое устанавливает Microsoft Office 2000, проверяет систему пользователя и настраивает установку установщика Windows. Этот пример специально написан для установки Office 2000 и должен использоваться только в качестве общей ссылки.
Когда пользователь вставляет CD-ROM Office 2000 на свой компьютер, Setup.exe пытается запустить режим обслуживания, приложение установки или ничего не делает вообще в соответствии с потребностями пользователя. В следующем разделе описывается, как приложение установки Office 2000 с именем Setup.exe, квалифифициирует пользователя и компьютер, создает командную строку и устанавливает установщик Windows с помощью приложения Msiexec.exe.
Как Setup.exe инициализирует установщик Windows при установке Office 2000
Пользователь вставляет диск CD-ROM Office 2000 в свой компьютер. Операционная система Windows инициирует Setup.exe с помощью переключателя /autorun.inf и файла Autorun.inf. Файл Autorun.inf находится в корне CD-ROM Office 2000 и содержит следующие разделы:
[Автозапуск]
[Функции Office]
[Сведения о продукте]
[ServicePack].
В разделе [Autorun] содержится командная строка, которая выполняет приложение Setup.exe, выполняет значок, используемый для отображения диска, и содержит сведения для добавления параметра "Установить" и параметра "Настроить" в контекстное меню для компакт-диска.
В разделе [Функции Office] содержится список функций и пар имен компонентов.
В разделе [Сведения о продукте] указывается имя и версия приложения.
В разделе [ServicePack] администратор сети может задать минимальный требуемый уровень пакета обновления. Администратор сети может использовать этот раздел для создания текста оповещающего сообщения, отображаемого, если в локальной операционной системе нет требуемого пакета обновления.
Ниже приведен пример autorun.inf.
[autorun] OPEN=setup.EXE /AUTORUN /KEY:Software\Microsoft\Office\9.0\Common\General\InstallProductID ICON=setup.EXE,1 shell\configure=&Configure shell\configure\command=setup.EXE shell\install=&Install shell\install\command=setup.EXE [OfficeFeatures] Feature1=ACCESSFiles Feature2=OfficeFiles Feature3=WORDFiles Feature4=EXCELFiles Feature5=PPTFiles [ProductInformation] DisplayName=Microsoft Office 9 Version=9.0 ProductCode={product guid} [ServicePack] MessageText="The operating system does not have a required service pack. Please download and install this from www.microsoft.com." SPLevel=3
Приложение Setup.exe проверяет наличие _MsiPromptForCD мьютекса. Установщик Windows создает этот мьютекс, когда пользователю будет предложено вставить компакт-диск. Наличие мьютекса указывает, что установщик Windows выполняет установку, запрашивающую компакт-диск Office 2000. В этом случае приложение Setup.exe немедленно завершает работу и позволяет продолжить установку Office 2000. Если мьютекс отсутствует, приложение Setup.exe переходит к шагу 3, где оценивается раздел реестра, чтобы определить, установлен ли Office 2000.
Приложение Setup.exe проверяет наличие раздела реестра Office9:
HKCU/Software/Microsoft/Office/9.0/Common/General/InstallProductID
Если этот раздел реестра не существует, приложение Setup.exe переходит к шагу 6, где проверяется операционная система, чтобы определить, соответствует ли она требованиям для установки Office 2000.
Если раздел реестра Office 2000 существует, приложение Setup.exe проверяет текущее состояние установки путем вызова MsiQueryProductState. Возвращаемое состояние InstallState_Default указывает, что Office 2000 уже установлен, и приложение Setup.exe продолжает выполнение с шага 5, где проверяется возможность запуска Office 2000 непосредственно с источника.
Если Office 2000 не установлен, приложение Setup.exe продолжается на шаге 6, где проверяется операционная система, чтобы определить, соответствует ли она установке Office 2000.
Приложение Setup.exe вызывает MsiQueryFeatureState для каждой функции в разделе [OfficeFeatures] файла Autorun.inf. Если любой из этих функций возвращает INSTALLSTATE_SOURCE, это означает, что функция выполняется из источника, и приложение Setup.exe немедленно завершает работу.
Если ни одна из функций не возвращает INSTALLSTATE_SOURCE, приложение Setup.exe запускает приложение установщика, Msiexec.exeи предоставляет режим обслуживания установщика Windows перед выходом.
Приложение Setup.exe определяет, относится ли операционная система к установке Office 2000. Windows XP требуется для установки Office 2000. Если для операционной системы требуется обновление сервис-пака для Office 2000, приложение Setup.exe отображает текст, указанный в файле Autorun.inf. Если операционная система не соответствует Office 2000 или обновлению Office 2000, приложение Setup.exe отображает сообщение, которое запрещает пользователю продолжать работу.
Если операционная система соответствует Office 2000, приложение Setup.exe продолжается на шаге 7, которое определяет, установлен ли установщик Windows на компьютере пользователя.
Если установщик Windows существует на компьютере пользователя, приложение Setup.exe запускает приложение Msiexec.exe и передает в него файл .msi Office 2000.
Если установщик Windows не установлен на локальном компьютере, приложение Setup.exe переходит к шагу 8, который определяет, подходит ли операционная система для установки установщика Windows.
Если локальный компьютер имеет право установить установщик Windows, приложение Setup.exe запускает правильную версию приложения установщика Instmsi.exe для платформы. Setup.exe может передать параметр командной строки "/q", чтобы отключить пользовательский интерфейс и запретить пользователю изменять параметры конфигурации установки.
Приложение Setup.exe загружает только что установленный файл Msi.dll и выполняет вызов функции MsiInstallProduct для установки приложения пользователя.
параметры командной строки Setup.exe
Приложение Setup.exe позволяет администраторам и пользователям передавать параметры командной строки в приложение Msiexec.exe. Подробнее о параметрах командной строки см. в . В следующей таблице перечислены параметры команды, которые можно использовать с Setup.exe.
Выбор | Употребление | Значение |
---|---|---|
/autorun | setup.exe /autorun | Запускает autorun.inf, описанное выше. |
/a | setup.exe /a | Инициирует административную установку. |
/j | [u|m]пакетили [u|m]пакет /t списка преобразований или [u|m]пакет /g LanguageID |
Рекламирует продукт. Этот параметр игнорирует все значения свойств, введенные в командной строке. Рекламируй текущему пользователю. m Рекламировать всем пользователям машины. Идентификатор языка g t Применяет преобразование к указанному пакету. |
/Я | setup.exe /I Office9.msi /t ProgramMgmt.mst | Указывает файл .msi, который Setup.exe необходимо установить. Если параметр /I не включен, Setup.exe использует файл Office9.msi. |
Значение свойства /o<=> | setup.exe /o CDKEY=11111-111 | Задает свойства в файле .msi. Setup.exe передает эти данные в msiexec, как написано. |
/q | setup.exe /q | Задайте уровень пользовательского интерфейса установки. Параметры: /q — без пользовательского интерфейса (/qn для msiexec.), /qb — базовый пользовательский интерфейс /qr-Сокращенный пользовательский интерфейс. |
/m# | setup.exe /m4 | Поддерживает несколько лицензий в соответствии с соглашениями Select. Это свойство используется пользовательским действием проверки лицензии для записи сертификата LV. Параметр /m должен следовать количеству разрешенных разблокировок. Значение, указанное параметром /m, должно быть задано как свойство "M" в файле Office9.msi. Если значение не указано, но параметр /m используется с установкой, необходимо задать значение 0. Параметр /m необходим для поддержки определённых клиентов, использующих компакт-диск или сеть. |
/Параметры | setup.exe /settings mysettings.ini | Позволяет администраторам указать файл .ini, содержащий все настраиваемые параметры, передаваемые во время установки Office 2000. См. описание файла .ini ниже. |
Использование файла .ini
Создание файла инициализации может быть проще, чем создание длинной командной строки. С помощью параметра /settings приложение Setup.exe считывает указанный файл .ini и создает командную строку для передачи в приложение Msiexec.exe. В файле .ini поддерживаются только свойства, поддерживаемые в командной строке. Если свойство или значение найдено как в файле .ini, так и в командной строке, параметры командной строки переопределяют параметры файла .ini.
Формат файла .ini:
[msi]
[mst]
[параметры]
[Отображение]
Раздел [msi] файла .ini указывает путь к пакету установки для установки. Это соответствует параметру /I в командной строке.
Раздел [mst] файла .ini указывает путь к преобразованиям, используемым при установке. Это соответствует параметру /j в командной строке. Несколько преобразований указываются на разных строках с помощью MST1 MST(N). При синтаксическом анализе в командной строке список в файле .ini преобразуется слева направо. Обратите внимание, что число, связанное с заголовком MST(N), присутствует только для поддержания уникальных идентификаторов и не имеет программного значения.
Раздел [параметры] позволяет администраторам сети задавать и переопределять свойства в .msi или MST-файлах. Параметры, заданные в файле .ini, добавляются в командную строку с помощью параметра /o. Каждый параметр в разделе параметра должен иметь имя свойства и значение.
Раздел [Display] используется для задания уровня пользовательского интерфейса, используемого во время установки. Это соответствует параметру /q в командной строке. Допустимые значения: отсутствует, базовое, сокращенное, полное.
Пример файла .ini
[MSI]
MSI=\\sourceshare\Office2000\Office2000.msi
[MST]
MST1=\\sourceshare\Office2000\trns1.mst
MST2=\\sourceshare\Office2000\trns2.mst
[Параметры]
PUBLICPROPERTY=ваше значение
[Отображение]
Дисплей=None