Переопределение изображения баннера в Wix 3.5 Wixlib не работает в реальном MSI - PullRequest
8 голосов
/ 23 июля 2011

Я использую несколько статей и других вопросов, чтобы переопределить растровые изображения баннера для двоичного wixlib, который я использую в 20+ других установщиках. Эта библиотека предоставляет наш собственный пользовательский интерфейс, некоторые пользовательские диалоги, общие ресурсы, двоичные файлы, пользовательские действия и т. Д.

Вот код, который я использую в wixlib для переопределения изображений:

    <Binary Id="WixUI_Bmp_Banner" SourceFile="Bitmaps\bnnrbmp.bmp/>
    <Binary Id="WixUI_Bmp_Dialog" SourceFile="Bitmaps\dlgbmp.bmp/>

Но когда я ссылаюсь на свой wixlib в моем реальном проекте MSI, все работает, кроме переопределений изображений баннеров пользовательского интерфейса (мои пользовательские диалоговые окна запускаются, процессы работают, устанавливаются общие двоичные файлы и т. Д.). Что-то особенное, что мне нужно сделать в моем двоичном проекте wixlib, чтобы переопределить образы по умолчанию UIExtension.wixlib в моем собственном двоичном wixlib?

Я видел этот вопрос здесь: Можно ли установить WixUiBannerBmp в wixlib? , однако ответ на этот вопрос не ответил на вопрос, он был непосредственно связан со значком, и я не уверен этот парень использовал двоичный пакет wixlib (перераспределяемый). Моя иконка добавления / удаления программ, встроенная в wixlib, уже работает просто отлично.

1 Ответ

14 голосов
/ 23 июля 2011

Изображения указываются с помощью переменных времени привязки, а не двоичных элементов.Ваш .wixlib может содержать значения переменных.Подход, используемый в Может ли WixUiBannerBmp быть установлен в wixlib? не использует .wixlib, но в остальном то же самое.(.Wixlib - это просто набор файлов .wixobj.)

Файл справки WiX документирует переменные в «Настройка встроенных диалоговых наборов WixUI»:

Замена по умолчаниюрастровые изображения

Библиотека диалогов WixUI включает в себя растровые изображения по умолчанию для фона диалогов приветствия и завершения, а также верхний баннер других диалогов.Вы можете заменить эти растровые изображения своими собственными для целей брендинга продукта.Чтобы заменить растровые изображения по умолчанию, укажите значения переменных WiX с именами файлов ваших растровых изображений, как при замене текста лицензии по умолчанию.

Пример:

<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
...