Расширение препроцессора Wix 3.5 - неопределенная функция препроцессора - PullRequest
1 голос
/ 14 марта 2011

Я просто использую Wix 3.5 с Visual Studio 2010, Windows 7. Я не могу выполнить пользовательский Preprocessor Extension запуск. Я создаю проект расширения в .NET 3.5. и скопируйте скомпилированную dll в программные файлы Wix 3.5 , плюс установите Ссылочный путь в свойствах проекта расширения, но сборка Wix project все еще не удалась с " неопределенная функция препроцессора"для моего расширения.

Пример: Проект расширения: WixFileVersionExtension (от wixfileversionext.codeplex.com) Программные файлы Wix: «C: \ Program Files \ XML установщика Windows v3.5 \ bin»

Я что-то упустил? Google не может ответить мне.


Обновление: Это ошибка, о которой сообщалось здесь http://sourceforge.net/tracker/?func=detail&atid=642714&aid=3212304&group_id=105970


Обновление: Не используйте Ссылочный путь в свойстве проекта VS, как указано здесь http://wix.sourceforge.net/manual-wix3/votive_property_pages.htm Раздел «Ссылочные пути» позволяет вам определять пути, которые вы хотите использовать при поиске ссылок (расширения WiX и библиотеки WiX )

или скопируйте dll расширения в папку Wix, как указано здесь http://wix.sourceforge.net/manual-wix3/extension_development_intro.htm Поместите рядом с EXE-файлами WiX вместе со всеми другими DLL-библиотеками расширения WiX

Решение : Добавление ссылки и Просмотр расширение Файл DLL ВМЕСТО добавления ссылки по Проект даже если у вас есть эти проекты в одном решении. Если вы хотите следовать Конфигурации, Debug или Release , выгрузите проект Wix, отредактируйте файл .wixproj и измените ..\WixExtension\bin\Debug\WixExtension.dll на ..\WixExtension\bin\$(Configuration)\WixExtension.dll, чтобы он стал таким :

  <ItemGroup>
    <WixExtension Include="WixExtension">
      <HintPath>..\WixExtension\bin\$(Configuration)\WixExtension.dll</HintPath>
      <Name>WixExtension</Name>
    </WixExtension>
  </ItemGroup>

Примечание: Проект Wix Visual Studio будет предполагать, что это расширение Wix, только когда вы добавляете ссылку в dll файл (Обзор), а также только предполагаете, что это приложение, которое будет включено в установщик всякий раз, когда вы добавляете ссылку в Project .

1 Ответ

2 голосов
/ 14 марта 2011

Необходимо добавить ссылку на фактическую сборку расширения (.dll), чтобы Candle.exe загрузил ее. Эквивалент командной строки: -ext.

...