Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается, как создать пакет установщика Windows для установки сборки Win32. Пакет устанавливает сборку и файл манифеста приложения в созданную папку, которую использует приложение. Манифест приложения указывает зависимость приложения от частной сборки. После установки пакета частная сборка доступна для эксклюзивного использования приложения. Зависимость сборки, указанная в манифесте приложения, переопределяет (для этого приложения) любые другие глобальные зависимости сборок, указанные в файлах манифеста сборки.
Прежде чем продолжить, рекомендуется понять, как создать пакет установщика Windows без сборок. Дополнительные сведения см. в разделе Пример установки.
Установка частной сборки в Windows XP
- Определите компонент установщика Windows, включающий сборку Win32 и файл манифеста приложения. Этот компонент может содержать другие ресурсы, которые всегда должны быть установлены или удалены с сборкой. Остальные действия этой процедуры описывают, как создать базу данных установки для установки этого компонента.
- Добавьте строку в таблицу компонентов для компонента, содержащего файл манифеста и сборки Win32. Введите допустимый идентификатор GUID установщика Windows для этого кода компонента. Дополнительные сведения см. в разделе Изменение кода компонента и Что произойдет, если правила компонента нарушены?
- Установщик копирует файл манифеста сборки в папку, содержащую файл, указанный в поле File_Application таблицы MsiAssembly.
- Добавьте строку в таблицу FeatureComponents , связывая компонент с функцией установщика Windows. Дополнительные сведения см. в компонентах и функциях. Компонент установщика Windows должен быть частью функциональных возможностей приложения, которые пользователь может распознать. Сборка активируется при выборе этой функции пользователем или при возникновении ошибки в приложении. Если сборка определяет дополнительную функцию, добавьте дополнительную строку в таблицу функций для атрибутов функции. Этот шаг не требуется, если вы создаёте модуль слияния.
- Для параллельных сборок сведения о привязке и активации, например о COM-классах, интерфейсах и библиотеках типов, хранятся в файлах манифеста, а не в реестре. Частные сборки хранят эти сведения в манифесте сборки. В системах, поддерживающих side-by-side сборки, установщик пропускает обработку сведений о компоненте, введённом в таблицу расширений , таблицу команд , таблицу TypeLib , таблицу MIME , таблицу классов , таблицу ProgId и таблицу AppId . Сведения о привязке и активации можно вводить в таблицы для использования системами, которые не поддерживают совместное использование сборок.
- Параллельная установка не регистрирует сборку глобально. Установщик пропускает самостоятельную регистрацию компонента, если в таблицу SelfReg введена какая-либо информация о самостоятельной регистрации. Сведения о самостоятельной регистрации можно занести в таблицу SelfReg для самостоятельной регистрации компонента в системах, которые не поддерживают совместное использование сборок.
- Добавьте любую другую информацию реестра, за исключением привязки, активации или самостоятельной регистрации компонента, в таблицу реестра , таблицу RemoveRegistry и таблицу Среды .
- Установщик пропускает таблицу IsolatedComponent для этого компонента в операционных системах, которые поддерживают одноранговый общий доступ. Введите сведения в эту таблицу, если вы хотите, чтобы сборка была частной в системах, поддерживающих локальные файлы.
- Добавьте строку в таблицу msiAssembly для компонента, содержащего сборку Win32. Введите значение 1 в поле "Атрибуты" таблицы MsiAssembly, чтобы указать, что это сборка Win32. Введите ключ файла частной сборки в поле File_Application таблицы MsiAssembly. Добавьте действие msiPublishAssemblies в таблицу InstallExecuteSequence или в таблицу AdvtExecuteSequence. Добавьте действие MsiUnpublishAssemblies в таблицу InstallExecuteSequence. Создайте папку для файла сборки и файла манифеста в таблице каталогов . Эта папка должна находиться в корневом каталоге приложения и содержать файл, указанный в поле File_Application таблицы MsiAssembly. Во время установки приложения установщик разрешает таблицу каталогов для пути к этой папке. Дополнительные сведения см. в разделе Использование таблицы каталогов.
- Добавьте строки в таблицу msiAssemblyName для компонента. Добавьте одну строку для каждой пары имен и значений, указанной в разделе assemblyIdentity манифеста. Дополнительные сведения см. в таблице MsiAssemblyName.