2011-03-14 3 views
1

Я просто использую Wix 3.5 с Visual Studio 2010, Windows 7. Мне не удалось выполнить пользовательский запуск Preprocessor Extension. Я создаю проект расширения в .NET 3.5. и скопировать DLL скомпилирован в Wix 3.5 программных файлов, а также установить Reference Path в свойствах расширения проекта, но Wix проект построить еще не удалось с «неопределенной функции препроцессора» на моем расширении.Расширение препроцессора Wix 3.5 - неопределенная функция препроцессора

Пример: Расширение проекта: WixFileVersionExtension (от wixfileversionext.codeplex.com) файлов программы Wix: "C: \ Program Files \ Установщик Windows XML v3.5 \ Bin"

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


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


Update: Не используйте Reference Path в свойстве проекта 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размещаемый рядом с WiX EXEs наряду со всеми другими библиотек DLL расширения WiX

Решение является: Добавить Ссылка и Просмотр расширение dll file INSTEAD OF Добавить ссылку Проект, даже если у вас есть эти проекты в одном решении. Если вы хотите следовать конфигурации, 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 расширение, когда вы Добавить ссылку по дллам файла (Browse), а также только предположить, что это приложение будет включен в установщике всякий раз, когда вы Добавить ссылку на Проект.

ответ

2

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

+0

Я вижу ... Сначала я пытаюсь добавить ссылку, но не работать. Затем я понимаю, что мне нужно скопировать dll в папку wix, но я удаляю ссылку. Позвольте мне попробовать добавить ссылку и поместить dll в папку wix завтра.Я использую Visual Studio Wix Project, а не MSBuild из командной строки, связано ли это с Candle.exe? – CallMeLaNN

+2

Candle.exe - это компилятор WiX. Расширения не обязательно должны находиться в каталоге бинарных файлов WiX; вы можете добавить ссылку в .wixproj в Visual Studio. –

+0

Да, в прошлый раз я установил ** Reference Path ** в проекте VS и в папке Wix, чтобы дважды проверить, но не работает. Теперь я пытаюсь добавить ссылку и установить путь (+ копия в папку wix), но также не работает. Он по-прежнему не реконструирует пользовательский префикс. ------------------- Подождите, я вижу, что нет -ext и ** Reference Path ** i, установленный в VS, не включен в вывод Build , Кажется, ошибка в выпуске Wix Votive в Wix 3.5. Я хочу отправить отчет об ошибке в SourceForge, но они перешли в CodePlex. – CallMeLaNN

Смежные вопросы