2012-09-12 3 views

ответ

8

У меня также была эта ошибка. Кажется, это новая вещь, автоматически созданная из Wix при создании новой установки. Wix не понравилось, когда я обновился с 3.5 до 3.6, я просто удалил его.

+0

На всякий случай это помогает любому в будущем - у меня было это, когда атрибут id компонента был неправильным – Liath

+0

Ну, мы только что обновили с WIX 3.5 до 3.8 и ударили по этой проблеме.Нам либо пришлось переписать наши файлы wixproj и wxs, чтобы избежать сбора урожая, или просто использовать ответ @goodbuoy [при условии] (http://stackoverflow.com/a/12741595/1584012) – wigy

46

Его проблема с выпуском 3.6. Найдено решение here. Все, что вам нужно сделать, это добавить следующее свойство < EnableProjectHarvesting> Правда </EnableProjectHarvesting> на вашем WIX проекте

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <EnableProjectHarvesting>True</EnableProjectHarvesting> 
+0

Спасибо за информацию, добрый. Работал для меня. –

+5

не работает для меня :( –

+2

Это сработало для меня. Если бы у меня был выбор, я бы не использовал WIX. Путь обновления Microsoft !? Было бы так хорошо, если бы документация была лучше. – avantprime

0

После обновления от Wix 3.5 до Wix 3.8, мы получили тот же самый вопрос. Однако мы не хотим собирать проект, поэтому установка EnableProjectHarvesting в true - это не очень хорошее решение. Таким образом, чтобы решить эту проблему, мы должны были изменить пару вещей:

В файле Product.wxs мы полностью удалить следующую строку (из атрибута <Feature>):

<ComponentGroupRef Id="Product.Generated" /> 



После этого, в нашем .wixproj, мы обновили LinkerBaseInputPaths до DefineConstants.

Таким образом, это означает, что изменить

<LinkerBaseInputPaths>%(ProjectReference.RootDir)%(ProjectReference.Directory)obj\$(Configuration)\Package\PackageTmp\</LinkerBaseInputPaths> 

Для (И, пожалуйста, обратите внимание также добавление BasePath=%)

<DefineConstants>BasePath=%(ProjectReference.RootDir)%(ProjectReference.Directory)obj\$(Configuration)\Package\PackageTmp\</DefineConstants> 



и, наконец, мы добавили

PreprocessorVariable="var.BasePath" 

т o наш атрибут HeatDirectory (который находится чуть ниже PropertyGroup, который мы изменили на предыдущем шаге).

1

В моем случае, я должен использовать ComponentRef вместо ComponentGroupRef

0

В моем случае, я получал один и тот же номер ошибки:

file_name.wxs (38): LGHT0094 об ошибке: неразрешенные ссылки на символ «WixComponentGroup: Name_of_the_ComponentGroup

Это потому, что я перенес ComponentGroup в другой файл, и сценарий сборки (CMake в моем случае, может быть, вы используете ANT), который вызывает candle.exe не был обновлен, чтобы включить. файл wxs, который теперь продолжается а также группу ComponentGroup.

Обновление скрипта cmake для включения нового файла устраняет ошибку. И сообщение об ошибке было действительно значимым, поскольку это была неразрешенная ссылка.

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