ビルドサーバーの1つでこのエラーが発生しています。他のすべてのサーバーは問題なく構築します。何が間違っているのでしょうか?
このエラーも発生しました。新しいセットアップが作成されると、Wixから自動的に生成される新しいもののようです。 3.5から3.6にアップグレードしたときにWixが気に入らなかったため、削除しました。
そのwix 3.6の問題です。解決策が見つかりました here 。必要なことは、wixプロジェクトに次のプロパティ<EnableProjectHarvesting> True </ 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>
私の場合、ComponentRef
の代わりにComponentGroupRef
を使用する必要があります
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"
HeatDirectory
属性(前の手順で変更したPropertyGroupのすぐ下)に追加します。
私の場合、同じエラー番号が表示されていました:
file_name.wxs(38):エラーLGHT0094:シンボル 'WixComponentGroup:Name_of_the_ComponentGroup)への未解決の参照
これは、ComponentGroupを別のファイルに移動していて、candle.exeを呼び出すビルドスクリプト(私の場合はcmake、多分antを使用)が、ComponentGroupを含む.wxsファイルを含むように更新されていなかったためです。
Cmakeスクリプトを更新して新しいファイルを含めると、エラーが修正されました。そして、これは未解決の参照だったので、エラーメッセージは実際に意味がありました。