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

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

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

  • Компонент установщика Windows должен содержать не более одной сборки.
  • Все файлы в сборке должны находиться в одном компоненте.
  • Каждый компонент, содержащий сборку, должен иметь запись в таблице MsiAssembly .
  • Строгое имя кэша сборок каждой сборки должно быть добавлено в таблицу MsiAssemblyName .
  • Используйте таблицу Реестра вместо таблицы Class при регистрации 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

Компонент Имя Значение
КомпонентA Имя простой
КомпонентA version 1.0.0.0
КомпонентA Культура нейтральная тональность
КомпонентA Publickeytoken 9d1ec8380f483f5a