Начальная загрузка
В настоящее время каждая установка, которая пытается использовать установщик Windows, начинается с проверки наличия установщика на компьютере пользователя и, если он отсутствует, готовы ли пользователь и компьютер к установке установщика Windows. Приложение установки Instmsi.exe доступно вместе с пакетом SDK установщика Windows, который содержит всю логику и функции для установки установщика Windows. Однако начальное приложение должно управлять этой установкой.
Приложение начальной загрузки должно сначала проверка, чтобы узнать, установлен ли установщик Windows в данный момент. Приложения могут получить версию установщика Windows, установленную в данный момент, с помощью DllGetVersion. Если установщик Windows в настоящее время не установлен, приложение начальной загрузки должно запрашивать операционную систему, чтобы определить, какая версия Instmsi.exe требуется. После инициации установки установщика Windows приложение начальной загрузки должно обрабатывать коды возврата из Instmsi.exe приложения и обрабатывать все перезагрузки, возникшие во время установки установщика Windows. Дополнительные сведения см. в разделе Определение версии установщика Windows.
В следующем примере показано, как приложение установки, устанавливающее Microsoft Office 2000, проверяет систему пользователя и настраивает установку установщика Windows. Этот пример специально написан для установки Office 2000 и должен использоваться только в качестве общего справочника.
Когда пользователь вставляет компакт-диск Office 2000 на свой компьютер, Setup.exe пытается запустить режим обслуживания, приложение установки или вообще ничего не делает в соответствии с потребностями пользователя. В следующем разделе описывается, как приложение установки Office 2000 с именем Setup.exe квалифифициирует пользователя и его компьютер, создает командную строку и устанавливает установщик Windows с помощью приложения Msiexec.exe.
Как Setup.exe начальная загрузка установщика Windows при установке Office 2000
Пользователь вставляет компакт-диск Office 2000 в свой компьютер. Операционная система Windows инициирует Setup.exe с помощью параметра /autorun и файла Autorun.inf. Файл Autorun.inf находится в корне компакт-диска Office 2000 и содержит следующие разделы:
[Автозапуск]
[Функции Office]
[Сведения о продукте]
[ServicePack].
Раздел [Автозапуск] содержит командную строку, которая выполняет 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. Для установки Office 2000 требуется Windows XP. Если операционной системе требуется обновление пакета обновления для использования 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.
Параметр | Использование | Значение |
---|---|---|
/Автозапуска | setup.exe /autorun | Запускает файл Autorun.inf, описанный выше. |
/a | setup.exe /a | Инициирует административную установку. |
/J | [u|m] Упаковкаили [u|m] Package /t Transform List или [u|m] Package /g LanguageID |
Объявляет продукт. Этот параметр игнорирует все значения свойств, введенные в командной строке. u Объявление для текущего пользователя. m Объявление для всех пользователей компьютера. g Идентификатор языка t Применяет преобразование к объявленным пакетам. |
/I | setup.exe /I Office9.msi /t ProgramMgmt.mst | Указывает файл .msi, который Setup.exe установить. Если параметр /I не включен, Setup.exe использует файл Office9.msi. |
Значениесвойства= /o<> | setup.exe /o CDKEY=111111-1111 | Задает свойства в файле .msi. Setup.exe передает их в msiexec, как написано. |
/q | setup.exe /q | Установите уровень пользовательского интерфейса для установки. /q no UI (/qn для msiexec.) /qb basic UI Пользовательский интерфейс с уменьшенным /qr. |
/М # | 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. Каждый параметр в разделе option должен иметь имя свойства и значение.
Раздел [Display] используется для задания уровня пользовательского интерфейса, используемого во время установки. Соответствует параметру /q в командной строке. Допустимые значения: none, basic, reduced и full.
Пример файла .ini
[MSI]
MSI=\\sourceshare\Office2000\Office2000.msi
[MST]
MST1=\\sourceshare\Office2000\trns1.mst
MST2=\\sourceshare\Office2000\trns2.mst
[Параметры]
PUBLICPROPERTY=ваше значение
[Дисплей]
Display=None