Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При создании 64-разрядных пакетов установщика Windows или приложений, которые вызывают установщик Windows для установки 64-разрядных пакетов, выполните следующие действия.
- Используйте схему базы данных установщика Windows 200 или более поздней версии. Укажите, что версия 2.0 является минимальной версией установщика, необходимой для установки пакета, задав свойству Page Count Summary значение целого числа 200. Более ранние версии установщика Windows отклоняют попытки установить 64-разрядные пакеты. Для 64-разрядных пакетов на платформе Arm64 схема базы данных установщика Windows должна быть 500 или выше.
- Укажите в свойстве Summary шаблона Summary Information, что этот пакет является 64-разрядным. Введите "Intel64" в поле платформы свойства сводки шаблонов , если пакет должен выполняться на процессоре Intel64. Введите "x64", если пакет должен выполняться на 64-разрядном расширенном процессоре. Введите "Arm64", если пакет должен выполняться на процессоре Arm64. Пакет нельзя пометить как поддерживающий платформы Intel64 и x64, значение свойства template Summary "Intel64,x64" недопустимо. Не удается пометить пакет как поддерживающий 32-разрядные и 64-разрядные платформы, сводка по шаблону значения свойств "Intel,x64" или "Intel,Intel64" недопустимы.
- Определите каждый 64-разрядный компонент, задав msidbComponentAttributes64bit в столбце "Атрибуты" таблицы компонента.
- Используйте необязательные условные инструкции, которые проверяют версию 64-разрядной операционной системы, ссылаясь на свойство VersionNT64. Установщик Windows устанавливает это свойство в 64-разрядную версию Windows и оставляет VersionNT64 неопределенным, если операционная система не является 64-разрядной Windows. Дополнительные сведения см. в разделе Использование свойств в условных инструкциях.
- Используйте необязательные условные инструкции, которые проверяют числовой уровень процессора компьютера, ссылаясь на свойство Intel64 или Msix64. Установщик Windows задаёт эти свойства согласно текущему числовому уровню процессора компьютера, и оставляет свойство Intel64 неопределённым, если это не процессор на базе Itanium. Дополнительные сведения см. в разделе Использование свойств в условных инструкциях.
- Используйте таблицу AppSearch и Действие AppSearch, чтобы выполнить необязательный поиск в реестре для существующих 64-разрядных компонентов. Чтобы найти существующие 64-разрядные компоненты, включите msidbLocatorType64bit бит в столбце Type таблицы regLocator. Дополнительные сведения см. в разделе Поиск существующих приложений, файлов, записей реестра или .ini свойств записей файлов
- Получите пути к системным папкам, ссылаясь на свойство System64Folder, свойство ProgramFiles64Folder, и свойство CommonFiles64Folder для 64-разрядных папок и на свойство SystemFolder, свойство ProgramFilesFolder и свойство CommonFilesFolder для 32-разрядных папок.
- Убедитесь, что приложение использует правильный GUID при ссылке на 64-разрядный компонент. Если 32-разрядные и 64-разрядные версии определенного компонента имеют разные идентификаторы компонентов GUID.
- Определите, нужно ли определять любые новые переменные среды при установке 64-разрядных приложений.
- Если требуется установить 64-разрядный диспетчер драйверов ODBC, компонент, который несет его, должен называться ODBCDriverManager64. Диспетчер драйверов ODBC должен быть создан в пакете установщика, а компонент с именем ODBCDriverManager64 должен быть включен. При необходимости менеджер будет установлен.
- Убедитесь, что приложение вызывает только 32-разрядные службы, которые выполняются в качестве исполняемых файлов. Приложения не должны вызывать 32-разрядные службы, которые выполняются в библиотеках DLL.
- Если приложение устанавливает как 32-разрядные, так и 64-разрядные версии компонента, убедитесь, что оно правильно обрабатывает общие сведения о файле .ini.
- Убедитесь, что приложение применяет только 32-разрядные исправления к 32-разрядным двоичным файлам и 64-разрядным исправлениям к 64-разрядным двоичным файлам.
- Рассмотрим будущие сценарии обновления для 32-разрядных и 64-разрядных версий и сохраняйте коды обновления. Для получения дополнительной информации ознакомьтесь с разделом "Исправления и обновления".
- При использовании загрузочного приложения для установки 64-разрядного пакета установщика Windowsскомпилируйте загрузочное приложение как 64-разрядное приложение.
- Чтобы отключить отражение реестра для ключей реестра, которые затронуты конкретным компонентом, установите бит msidbComponentAttributesDisableRegistryReflection в поле "Атрибуты" таблицы Component. Это может потребоваться для 32-разрядных и 64-разрядных копий одного и того же приложения. Если этот бит задан, установщик Windows вызывает функцию RegDisableReflectionKey для каждого ключа, доступ к которому осуществляется компонентом. Этот бит доступен в установщике Windows версии 4.0. Этот бит игнорируется в 32-разрядных системах. Этот бит игнорируется в 64-разрядных версиях Windows XP и Windows 2000.
Заметка
Значение корня числового реестра, возвращаемого параметром lpPathBuf функции MsiGetComponentPath, различает компоненты в 32-разрядных и 64-разрядных операционных системах. Дополнительные сведения см. в функции MsiGetComponentPath.
Связанные разделы