.Net3.5または.Net4.0のいずれかでコンパイルされたdllがあります。(同じ名前です)
wixには、2つの条件付き機能があります。
機能AはComponentRefId="Cmp35"を使用してアプリの.net3.5dllを
インストールします機能BはComponentRefId="Cmp40"を使用して.net4.0dllをインストールし
ます機能は相互に排他的であり、1つの機能のみがインストールされます。
私のコンポーネント:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="INSTALLDIR">
<Component Id="Cmp35" Guid="..">
<File Id="Behaviors.Assembly" Name="$(var.Behaviors.v3.5.gen.TargetFileName)" Source="$(var.Behaviors.v3.5.gen.TargetPath)" />
<File Id="Other.Assembly" Name="$(var.Other.v3.5.gen.TargetFileName)" Source="$(var.Other.v3.5.gen.TargetPath)" />
</Component>
<Component Id="Cmp40" Guid="...">
<File Id="Behaviors.Assembly.4.0" Name="$(var.Behaviors.v4.0.gen.TargetFileName)" Source="$(var.Behaviors.v4.0.gen.TargetPath)" />
<File Id="Other.Assembly.4.0" Name="$(var.Other.v4.0.gen.TargetFileName)" Source="$(var.Other.v4.0.gen.TargetPath)" />
</Component>
</DirectoryRef>
</Fragment>
</Wix>
コンパイル中にエラーが発生しました:エラーLGHT0204:ICE30:ターゲットファイル...がLFNシステムの2つの異なるコンポーネントによって...にインストールされています:
ファイル名が同じであるため、問題があるようです...
ですこれを管理する方法はありますか?ありがとう!