Практическое руководство. Создание установщика Windows для 64-разрядной платформы
Обновлен: Ноябрь 2007
Средства развертывания в Visual Studio 2005 позволяют создавать установщики для 64-разрядных приложений и компонентов. Свойство Свойство TargetPlatform проекта развертывания определяет целевую платформу для установщика: 32-разрядная или 64-разрядная. Для 32-разрядных платформ целевой платформой является x86; для компьютеров, поддерживающих наборы инструкций AMD64 и EM64T целевой платформой является x64, а для 64-разрядных процессоров Itanium ― Itanium.
Кроме того, в редакторе файловой системы имеются три особые папки: для 64-разрядных приложений есть папки Common Files (64-bit), Program Files (64-bit) и System (64-bit) (это собственные папки), а Common Files, Program Files и System — это папки Windows on Windows.
Как правило, 32- и 64-разрядные пакеты установщика Microsoft (MSI) обрабатываются одинаково, за исключением обработки переменных, содержащих пути к папкам, например, [Program Files] и [System Folder] и записи компонентов в реестр или глобальный кэш сборок. При создании 32- или 64-разрядного пакета MSI архитектура процессора указывается в идентификаторе строгого имени сборки платформы .NET Framework при ее установке в глобальный кэш сборок. Проекты установки для 64-разрядных компьютеров можно создавать и на 32-разрядных компьютерах.
Для выполнения настраиваемых действий 64-разрядные пакеты MSI могут использовать как 32-, так и 64-разрядные библиотеки DLL или EXE; однако 32-разрядные пакеты MSI не могут использовать 64-разрядные библиотеки DLL или EXE для выполнения настраиваемых действий.
При добавлении файла или сборки к проекту модуля слияния для него определяется целевая платформа: 32 или 64-разрядная. Это необходимо для того, чтобы убедиться, что 64-разрядные модули слияния не содержат сочетания 32- и 64-разрядного кода. Если модуль слияния содержит 32-разрядный файл, Visual Studio отобразит соответствующее сообщение, и файл не будет добавлен. Если добавляется управляемая сборка, помеченная как исключительно 32-разрядная, то во время сборки будет отображено предупреждение, но файл или построение будут включены в целевую установку. Дополнительные сведения о модулях слияния см. в разделе Знакомство с модулями слияния.
Для распространения приложения платформы .NET Framework как на 32-, так и на 64-разрядные платформы , необходимо выполнить построение двух пакетов MSI: одного для 32-разрядных компьютеров, а другого ― для 64-разрядных компьютеров. Пользователь может установить пакет 32-разрядного проекта установки, и он, скорее всего, будет запущен как 64-разрядное приложение, но в каталог «Program Files64» можно установить только 64-разрядный проект.
Чтобы распространять пакет MSI, но не разрешать установку на 64-разрядных компьютерах, необходимо добавить новый набор условий запуска: «NOT VersionNT64».
Примечание. |
---|
В экспресс-выпуске Visual Studio отсутствует возможность создания 64-разрядных пакетов MSI. |
Примечание. |
---|
Если конечным компьютером пакета MSI является Athlon64 AMD или Opteron, то на этом компьютере должен быть установлен пакет MSI версии 3.0 или более поздней. |
Примечание. |
---|
Если проект установки, предназначенный для x86, содержит файл из 64-разрядной папки, то этот файл не будет включен в пакет MSI, даже если установка ведется на 64-разрядном компьютере. |
Создание установщика для 64-разрядной платформы
Откройте проект развертывания. Дополнительные сведения см. в разделе Практическое руководство. Создание или добавление проектов развертывания.
Выберите проект развертывания в Обозревателе решений.
В окне Свойства выберите свойство TargetPlatform.
Выберите либо Itanium для 64-разрядной платформы Intel Itanium, либо x64 для любой другой 64-разрядной платформы (например, AMD64 или EM64T).
Если конечный компьютер несовместим с указанной платформой, то во время установки возникнет ошибка, и установка будет прервана.
Установка файлов в папки Common Files, Program Files или System на 64-разрядной платформе
Выберите проект развертывания в Обозревателе решений.
В окне Свойства убедитесь, что свойству TargetPlatform задано значение x64 или Itanium.
В меню Вид выберите пункт Редактор, а затем выберите Файловая система.
В Редакторе файловой системы выберите узел Файловая система на конечном компьютере.
В меню Действие выберите пункт Добавить особую папку, а затем выберите Common Files (64-bit),Program Files (64-bit) или System (64-bit).
Добавьте нужные файлы в новую папку. Дополнительные сведения см. в разделе Практическое руководство. Добавление и удаление файлов в редакторе файловой системы.
См. также
Задачи
Практическое руководство. Создание или добавление проектов развертывания
Практическое руководство. Добавление и удаление файлов в редакторе файловой системы
Практическое руководство. Добавление модулей слияния в проект развертывания
Основные понятия
Развертывание 64-разрядных приложений