Поделиться через


Добавление сборок в пакет

Разработчики установщика Windows могут использовать рекомендации, приведенные в этом разделе, для создания пакетов установщика Windows, содержащих сборки.

Следующие рекомендации применяются к сборкам Win32 и сборкам, которые использует среда CLR Microsoft .NET Framework.

  • Компонент установщика Windows должен содержать не более одной сборки.
  • Все файлы в сборке должны находиться в одном компоненте.
  • Каждый компонент, содержащий сборку, должен иметь запись в таблице MsiAssembly.
  • Имя строгого кэша сборок каждой сборки должно быть создано в таблице MsiAssemblyName.
  • Используйте таблицу реестра вместо таблицы класса при регистрации COM-взаимодействия для сборки.
  • Сборки с одинаковыми строгими именами являются одной и той же сборкой. При установке одной сборки различными приложениями компоненты, содержащие сборку, должны использовать то же значение для ComponentId в таблицах компонента.

Заметка

Объявления продуктов определяют сборки, которые можно установить и использовать различными приложениями. Рекламные объявления продуктов не идентифицируют частные сборки.

 

Добавление сборок Win32

Используйте следующие рекомендации при включении сборок Win32:

  • Значение KeyPath в таблице компонента для компонента, содержащего сборку Win32, не должно иметь значение NULL.
  • Значение KeyPath в таблице компонента для компонента, содержащего сборку политики Win32, должно быть файлом манифеста.
  • Значение KeyPath в таблице компонента для компонента, содержащего сборку Win32, которая не является сборкой политики, не должна быть файлом манифеста или файлом каталога. Он должен быть отдельным файлом в сборке.
  • Добавьте строку в таблицу MsiAssemblyName для каждой пары имен и значений, перечисленных в разделе assemblyIdentity манифеста сборки Win32.

Добавление сборок, используемых с платформой .NET Framework

Используйте следующие рекомендации при включении сборок, используемых средой CLR платформы .NET Framework.

  • Значение KeyPath в таблице компонента для компонента, содержащего сборку, не должно иметь значение NULL.
  • При установке сборки, используемой средой CLR в глобальный кэш сборок, значение в столбце File_Application таблицы MsiAssembly должно иметь значение NULL.
  • Добавьте строку в таблицу MsiAssemblyName для каждого атрибута строгого имени сборки. Все сборки должны иметь атрибуты Name, Version и Culture, указанные в таблице MsiAssemblyName. Атрибут publicKeyToken необходим для глобальной сборки. В следующей таблице приведен пример таблицы MsiAssemblyName для глобальной сборки для использования в среде CLR.

таблицы msiAssemblyName

Компонент Имя Ценность
ComponentA Имя простой
ComponentA Версия 1.0.0.0
КомпонентА Культура нейтральный
КомпонентА publicKeyToken 9d1ec8380f483f5a