アプリケーションのインストーラを作成しようとしています。私のアプリケーションには、ルートアプリケーションと、独立してインストールできる一連のサブ製品が含まれています。オプションでインストールを管理するインストーラを作成したいと思います。WiX:同じディレクトリを含む機能ですが、インストール中に1つの一意のディレクトリにマージする必要があります
コンパイルとリンクの後に、私は以下の構造を得ます。 MyAppRootについては
:
- .. \ MyAppRootの\ビン
- .. \ MyAppRoot \ CONFIG
- .. \ MyAppRoot \ CONFIG \ HTTP
- .. \ MyAppRoot \ CONFIG \でした
- と他のサブディレクトリ
- ...
各サブ製品は同じ組織を持っていますMySubPrdについては
:
- .. \ MySubPrd \ binに
- .. \ MySubPrd \ CONFIG
- .. \ MySubPrd \ CONFIG \ HTTP
- .. \ MySubPrd \ CONFIG \だった
- と他のサブディレクトリ
- ...
私はサブアプリケーション(MySubPrd1、MySubPrd2、...、MySubPrdN)の完全なセットを持っています。
インストール中、SubPrd1はMyAppRootアプリケーション(常にインストールされている)にマージされている必要があります。
インストーラをビルドするには、まず各サブプロダクトに関連付けられた専用.wxsファイルを作成するために、MyAppRootとMySubPrd1、MySubPrd2、...、MySubPrdNのすべてのファイルを収穫します。
set ROOT_BINARY=D:\Prj\MyAppRoot
heat dir %ROOT_BINARY% -cg MyRootApp -gg -scom -sreg -sfrag -srd -dr INSTALLLOCATION -out %OUT_BUILD_WXS%\root.wxs -var env.ROOT_BINARY
set ROOT_PRD1=D:\Prj\MySubPrd
heat dir %ROOT_PRD1% -cg MySubPrd1 -gg -scom -sreg -sfrag -srd -dr INSTALLLOCATION -out %OUT_BUILD_WXS%\prd1.wxs -var env.ROOT_PRD1
および他のSubPrdsについても同様である。
私は私のインストーラを構築するために使用される主なWXSファイルを持って、私はセット機能作成:
エラー:
<Feature Id='Complete' Title='ROOT Application' Description='The application.' Display='expand' Level='3' ConfigurableDirectory='INSTALLLOCATION'> <ComponentRef Id="Shortcut" /> <Feature Id="RootApp" Title="Main Application RootApp" Description="...." Level="3"> <ComponentGroupRef Id="MyRootApp" /> </Feature> <Feature Id="MySubPrd1App" Title="Option1" Description="...." Level="1000"> <ComponentGroupRef Id="MySubPrd1" /> </Feature> <Feature Id="MySubPrd2App" Title="Option2" Description="...." Level="1000"> <ComponentGroupRef Id="MySubPrd2" /> </Feature> </Feature>
すべてがリンク中を除いてOKですが、私は多くのエラーを取得しますLGHT0130:主キー 'dir022180FDDE4E69878C4D1206C73EED8D'が複製されています
確認の結果、エラーがディレクトリに関連していることが確認されました。 WiXは、機能が同じパスにマージされなければならないことを認識していないようです。ディレクトリの一部にはまったく同じファイルが含まれています(たとえば、..\MyAppRoot\config\ws
には、¥MySubPrd1¥config¥wsとまったく同じファイルが含まれています)
この問題を解決するにはどうすればよいですか?
[WIX:複数の機能/フォルダを持つ熱の重複IDの問題](http://stackoverflow.com/questions/3730288/wix-heat-duplicate-id-issue-with-multiple-features-folders) – wimh