2012-09-12 24 views

答えて

8

私もこのエラーがありましたが、新しい設定を作成するとWixから自動的に生成される新しいようです。私が3.5から3.6にアップグレードしたとき、Wixはそれを気に入らず、単に削除しました。

+0

将来的に誰にでも役立ちます - コンポーネントのid属性が正しくないときに私はこれを持っていました – Liath

+0

まあ、WIX 3.5から3.8にアップグレードしてこの問題にヒットしました。私たちは収穫を避けるためにwixprojファイルとwxsファイルを書き直さなければならなかったし、答えを@goodbuoy [提供](http://stackoverflow.com/a/12741595/1584012) – wigy

46

問題です。ソリューションhereが見つかりました。あなたがする必要があるすべてはあなたのWiXプロジェクトに< EnableProjectHarvesting>真</EnableProjectHarvesting>次のプロパティを追加し

<?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に設定するのは良い解決策ではありません。だから、問題を解決するために、我々はカップルの事を変更する必要がありました:私たちには、この後

<ComponentGroupRef Id="Product.Generated" /> 



ファイルProduct.wxsでは、我々は完全に(属性<Feature>から)次の行を削除しました.wixprojLinkerBaseInputPathsDefineConstantsに更新しました。

だから、これは

<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

、私は私の場合代わりComponentGroupRef

0

ComponentRefを使用する必要があり、私は、同じエラー番号なっていた:

file_name.wxs(38):エラーLGHT0094:シンボルへの未解決の参照を「WixComponentGroup:Name_of_the_ComponentGroup私は別のファイルへのComponentGroupを移動していたので、これはだった

、およびビルドスクリプトcandle.exeを含むように更新されていませんでした呼び出します(私の場合はcmakeのは、多分あなたはアリを使用します)。 wxsファイルは今すぐcont ComponentGroupが就任しました。

新しいファイルをインクルードするようにcmakeスクリプトを更新すると、エラーが修正されました。これは未解決の参照であったため、エラーメッセージは実際に意味がありました。

関連する問題