2012-01-03 17 views
11

私は、x64でビルドされたときに、x86リリース構成でビルドされたときに32ビットドライバをインストールしたいWixプロジェクトを持っています。Wixで32ビットと64ビットのドライバをインストールしますか?

私がこれをやっているところは、2つの同一のプロジェクトですが、1つはdifxapp_x86を参照し、もう1つはdifxapp_x64を参照しています。これを改善することはできますか?

"DIFXAPP: ERROR - You need to use the 64-bit version of DIFXAPP.DLL to install drivers on this machine."

それは条件付きで選択したビルド構成に基づいてこれらを参照することが可能です:私はdifxapp_x86を参照すると、64ビットバージョンをビルドする場合

また、その後、当然私はMSIのエラーを取得しますか?

おかげで、 アラン

+0

私も同じエラーが発生しています。 DIFXAPPを使用するのではなく、単にSetupCopyOemInfを呼び出してエラー処理を行うカスタムアクションでは、32ビットと64ビットのWindows用のインストーラを1つ作ることができます(WiXではなく、何度も成功しました)。 –

答えて

15

私は、プロジェクトファイルを編集して、手動で関与これに対する解決策を見つけることができました。次の

<ItemGroup> 
    <WixLibrary Include="difxapp_x86"> 
    <HintPath>C:\Program Files\Windows Installer XML v3.5\bin\difxapp_x86.wixlib</HintPath> 
    <Name>difxapp_x86</Name> 
    </WixLibrary> 
</ItemGroup> 

:ここで参照のパスは、プラットフォーム変数の状態によって決定されるであろう

<ItemGroup> 
    <WixLibrary Include="difxapp_$(Platform)"> 
    <HintPath>C:\Program Files\Windows Installer XML v3.5\bin\difxapp_$(Platform).wixlib</HintPath> 
    <Name>difxapp_x86</Name> 
    </WixLibrary> 
</ItemGroup> 

Iは、以下の部分を変更しました。同じ要件を持つ他の人に役立つことを願っています。

アラン

関連する問題