Добавление сборок в пакет
Разработчики установщика 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.
Компонент | Имя | Ценность |
---|---|---|
ComponentA | Имя | простой |
ComponentA | Версия | 1.0.0.0 |
КомпонентА | Культура | нейтральный |
КомпонентА | publicKeyToken | 9d1ec8380f483f5a |