Не удалось загрузить WixUIExtension.dll

Пытаюсь сделать установщик wix. для веб-приложения.

Ниже приведен мой файл wsx v3.11

<?xml version = "1.0" encoding = "UTF-8"?>
<Wix xmlns = "http://schemas.microsoft.com/wix/2006/wi">
  <Product Id = "Guid" Name = "TestInstaller" Language = "1033" Version = "1.0.0.0" Manufacturer = "CompanyName" UpgradeCode = "Guid1">
    <Package InstallerVersion = "200" Compressed = "yes" InstallScope = "perMachine" Platform = "x64" />

    <MajorUpgrade DowngradeErrorMessage = "A newer version of [ProductName] is already installed." />
    <MediaTemplate EmbedCab = "yes" />
    <PropertyRef Id = "WIX_IS_NETFRAMEWORK_462_OR_LATER_INSTALLED"/>
    <Condition Message='This setup requires the .NET Framework 4.7 client profile installed.'>
      <![CDATA[Installed OR WIX_IS_NETFRAMEWORK_462_OR_LATER_INSTALLED]]>
    </Condition>
    <Feature Id = "Complete" Title = "TestInstaller" Description = "TestInstaller" Level = "1" ConfigurableDirectory='INSTALLFOLDER'>
      <ComponentGroupRef Id = "ProductComponents" />
      <ComponentGroupRef Id = "ProductBinComponents" />

    </Feature>


    <UIRef Id = "WixUI_Mondo" />
    <UIRef Id = "WixUI_ErrorProgressText" />
  </Product>

  <Fragment>
    <Directory Id = "TARGETDIR" Name = "SourceDir">
     <Directory Id = "INSTALLFOLDER" Name = "Test Installer" >
        <Directory Id = "INSTALLBINFOLDER" Name = "bin">
        </Directory>
      </Directory>
    </Directory>
  </Fragment>

  <Fragment>
    <ComponentGroup Id = "ProductComponents" Directory = "INSTALLFOLDER">
      <Component Id = "ProductComponent" Win64 = "yes" Guid = "*">
        <File Source = "C:\Temp\Publish\Web.config" />
        <File Source = "C:\Temp\Publish\NLog.config"/>
        <File Source = "C:\Temp\Publish\Global.asax"/>
      </Component>
    </ComponentGroup>
    <ComponentGroup Id = "ProductBinComponents" Directory = "INSTALLBINFOLDER">
      <Component Id = "ProductBinComponent" Win64 = "yes" Guid = "*">
        <File Source = "C:\Temp\Publish\bin\Antlr3.Runtime.dll"/>
        <File Source = "C:\Temp\Publish\bin\Antlr3.Runtime.pdb"/>
      </Component>
    </ComponentGroup>
  </Fragment>
</Wix>

Моя проблема здесь в том, что я не знаю, что означает это сообщение об ошибке, и не знаю, как это исправить.

Either 'Microsoft.Tools.WindowsInstallerXml.AssemblyDefaultWixExtensionAttribute' was not defined in the assembly or the type defined in extension '..........\Program Files (x86)\WiX Toolset v3.11\bin\WixUIExtension.dll' could not be loaded.

Просто чтобы скрыть очевидное: - Установлен ли WiX на машине? (быстро забываешь, если переключаешь компьютеры). - Если закомментировать обе строки UIRef, компилируется ли он? - Вы добавили ссылку на проект в WixUIExtension.dll? (если вы находитесь в Visual Studio). Возможно, вы увидите мой минимальные настройки для нового проекта шаблона WiX, чтобы он скомпилировал здесь (см. Встроенные комментарии в разметке WiX внизу).

Stein Åsmul 09.08.2018 21:22

@ SteinÅsmul Спасибо за письмо. Если я закомментирую обе строки UIRef, он компилируется нормально. Я добавил dll для WixUIExtension. Да, я работаю в визуальной студии. И да, у меня установлен WiX. Я посмотрю на твою ссылку

Helbo 10.08.2018 09:26
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
1 909
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

1. Файл лицензии RTF: сначала убедитесь, что вы создали свой собственный файл лицензии RTF (с помощью WordPad или аналогичного), а затем укажите использовать этот файл RTF в своем источнике WiX следующим образом:

<!-- Shown for context (one of several possible dialog sets): -->
<UIRef Id = "WixUI_Mondo" /> 

<!-- The crucial variable that must be defined (for this dialog set): -->
<WixVariable Id = "WixUILicenseRtf" Value = "TestLicenseAgreement.rtf" />   

For more context and details, please see this example of what minimal tweaks are needed to a fresh WiX project to get it to compile (see inline comments in WiX markup towards bottom).


2. Wix.dll: Возможно, вы включили ссылку непосредственно на Wix.dll в дополнение к WixUIExtension и WixNtFxExtension - оба из которых вам нужно оставить включенными.

So in other words: remove the project reference to Wix.dll and try to recompile.

Если это не сработает, удалите все ссылки и повторно добавьте только WixUIExtension и WixNtFxExtension.


Некоторые предложения и ссылки:

  • Похожая проблема: Где найти Microsoft.Tools.WindowsInstallerXml.dll?
  • Возможно, используйте другой исходный путь, чем временный каталог.
  • Возможно, исключите файл *.pdb из установки, если он вам не нужен для отладки.
  • Используйте один файл для каждого компонента. ИМХО это предотвращает всевозможные проблемы.
  • Удалите свои GUID из источников WiX перед их публикацией - или их можно скопировать / вставить. Совсем не хорошо.

Я никогда не добавлял никаких ссылок, кроме WixUIExtension и WixNtFxExtension. И я несколько раз пытался удалить и добавить их снова, чтобы посмотреть, решит ли это проблему. Я посмотрю по вашим ссылкам. и другие предложения. Спасибо.

Helbo 10.08.2018 09:28

ваша ссылка из вашего комментария заставила меня работать. проблема заключалась просто в отсутствии лицензионного RTF-файла.

Helbo 10.08.2018 09:51

О, это было удивительно. Я лучше обновлю этот ответ, чтобы указать это явно. Я видел ту же ошибку при добавлении Wix.dll, поэтому оставлю это.

Stein Åsmul 10.08.2018 15:09

Другие вопросы по теме