Система не может найти файл "wixca.dll" - PullRequest
0 голосов
/ 20 сентября 2018

enter image description here Я перенес проект с Wix 2.0 на 4.0, затем, когда я пытаюсь собрать проект из Visual Studio 2017 (Votive) для создания пакета программного обеспечения установщика, я получаю следующую ошибку:

Система не может найти файл "wixca.dll"

Я посмотрел по указанному ниже пути и не нашел DLL:

ProgramFiles \ Wix Toolset v4.0 \ bin

В моем LicenseAgreementDlg.wxs файле я использую приведенный ниже код, и отсюда с помощью Value = "WixUIPrintEula" мы вызываем Common.wxs файл

<Control Id="LicenseText" Type="ScrollableText" X="20" Y="60" Width="330" Height="140" Sunken="yes" TabSkip="no">
                    <Text SourceFile="$(var.LicenseFile)" />
                </Control>
                <Control Id="Print" Type="PushButton" X="76" Y="243" Width="65" Height="17" Text="!(loc.WixUIPrint)">
                    <Publish Event="DoAction" Value="WixUIPrintEula">1</Publish>
                </Control>

Я использую "wixca.dll" в моем файле Common.wxs

, как показано ниже:

<Fragment>
<CustomAction Id="WixUIPrintEula" BinaryKey="WixUIWixca" DllEntry="PrintEula" Return="ignore" Execute="immediate"/>
<Binary Id="WixUIWixca" SourceFile="wixca.dll"/>
</Fragment>

Пожалуйста, помогите мне, где я могу получитьwixca.dll

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Исключить фрагмент : Как я уже писал в в предыдущем комментарии , возможно, прочитайте этот ответ: Как избавиться от wixca.DLL и распечатать Eula в WIX v3 .Таким образом, похоже, что этот фрагмент для печати лицензионного соглашения больше не требуется в WiX 3 и выше, если вы используете стандартный набор диалогов WiX .Просто попробуйте вынуть весь фрагмент и установить набор диалогов WiX и посмотреть, решит ли это проблему.

Набор диалогов WiX : добавить стандартный набор диалоговв WiX Votive (Visual Studio).

  • В Visual Studio для вашего проекта WiX: добавьте ссылку на проект к %ProgramFiles (x86)%\WiX Toolset v3.11\bin\WixUIExtension.dll.
  • Установите графический интерфейс Mondo по умолчанию в вашем источнике WiX: <UIRef Id="WixUI_Mondo" /> (закомментируйте другие элементы UIRef).Или установите другой набор, список здесь .
  • Проверка компиляции.Ваша настройка теперь должна волшебным образом иметь стандартный набор стандартных диалогов.

WixCA.dll : для записи WixCA.dll содержит стандартизированные пользовательские действия WiX (забавная концепция: стандартные пользовательские действия - лингвистический цветок), и эта DLL компилируется в двоичную таблицу любого MSI, построенного на WiX, который использует встроенные пользовательские действия, предоставляемые сWiX.

Источник WiX, использующий эти пользовательские действия, будет иметь пространство имен xmlns:util="http://schemas.microsoft.com/wix/UtilExtension", добавленное к его верхнему элементу WiX.Могут быть и другие случаи, когда она также скомпилирована в двоичную таблицу, но, безусловно, если это пространство имен есть - и добавляются любые элементы настраиваемых действий.Ищите элементы, начинающиеся с <util:.....> (кроме этого пространства имен есть много пользовательских действий. См. Документацию .

0 голосов
/ 20 сентября 2018

Похоже, у вас есть пользовательские действия для выполнения вместе с установщиком.Проверьте наличие других проектов, которые создают файл wixCA.dll.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...