マシンごとおよびx64アーキテクチャのみの設定でWiX3.6でWindowsインストーラスクリプトを作成しようとしています。私は次のプロジェクト構造を持っています(短縮):
<Directory Id="ProgramFiles64Folder" Name="PFiles">
<Directory Id="APPLICATIONFOLDER" Name="My Company">
<Directory Id="ProductFolder" Name="My Product">
<Component Id="MainComponent" Guid="" Win64="yes" KeyPath="yes">
...
</Component>
<Directory Id="DataFolder" Name="Data">
<Directory Id="Machine" Name="Machine" >
<Directory Id="MachinesFolder" Name="Machines">
<Component Id="Machine1" Guid="{74341536-72DF-48C3-95E8-2851D9FA8318}" Win64="yes" KeyPath="yes">
...
</Component>
</Directory>
<Directory Id="TemplateFolder" Name="Template">
<Component Id="TemplateFiles" Guid="{A0D0C225-D604-4B84-971D-41687A30EC36}" Win64="yes" KeyPath="yes">
<File Id="Template1.rsbak" Source="$(var.SolutionDir)bin\Release\File1.rsbak" />
...
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
ICE38: Component TemplateFiles installs to user profile. It must use a registry key under HKCU as its KeyPath, not a file
問題は、コンパイル時にTemplateFilesコンポーネントのエラーが発生することです。私を混乱させているのは、別のプロジェクトで同様の構造を使用していて(作業中)、プロジェクトでまったく同じ設定のコンポーネントがいくつかあることです(上記には表示されていません)。他のすべてが正しくインストールされたときに、このコンポーネント(およびこれだけ)がユーザープロファイルへのインストールを要求するのはなぜですか?