32 ビット バージョンと 64 ビット バージョンのサード パーティ ライブラリを含むインストーラがあります。ライブラリには、同じファイル名の 32 ビットと 64 ビットのフォルダーが付属しています。私が行ったことは、ファイルの名前を個別の 32/64 名に変更して、両方をインストーラーに含めることができるようにすることです。条件付きでファイルを含めるようにタグに設定しようとしてFILE
いますが、名前をefxzlib.dllの基本名に戻そうとしています。
これはファイルで可能ですか? のName
属性はFile
、インストール時ではなく、ビルド時にファイルの名前を変更するようです。この DLL は唯一の固有の 32/64 コンポーネントであるため、32 ビットと 64 ビットの別々のインストーラーを回避しようとしています。これは、マネージド カスタム アクションを使用して行うのが最適ですか?
<Component Id="CMP_EFX_ZLIB_32BIt" Guid="MY_GUID1">
<Condition>
<![CDATA[NOT(VersionNT64)]]>
</Condition>
<File Id="FILE_EFX_ZLIB_32BIt" KeyPath="yes" Source="$(var.EFX5LibraryBase32bit)\efxzlib32.dll" Name="efxzlib.dll" />
</Component>
<Component Id="CMP_EFX_ZLIB_64BIt" Guid="{MY_GUID2}">
<Condition>
<![CDATA[VersionNT64]]>
</Condition>
<File Id="FILE_EFX_ZLIB_64BIt" KeyPath="yes" Source="$(var.EFX5LibraryBase64bit)\efxzlib64.dll" Name="efxzlib.dll" />
</Component>