2011-09-19 34 views
7

.NETベースのWindowsサービスをインストールする32ビットWIXインストーラがあります。 32bit版と64bit版の外付け.dllを使う必要があります。 32bitインストーラが64bitマシンで動作していることを検出する方法はありますか?条件付きで32ビットまたは64ビットの.dllをインストールする必要があります。32bit WIXインストーラから64bitシステムを検出

答えて

-1

ProcessorArchitectureでプロパティを作成し、レジストリから値を取得します。このプロパティに基づいて、条件付きの機能を作成します。

+3

でこれをやりました。それを拡大してもよろしいですか? – Marek

2

はこれを試してみてください:

<Component Id="Component1" Guid="*"> 
    <![CDATA[Not VersionNT64]]> 
    <File Id="File1" Name="1.dll" Source="c:\dlls\1.dll"/> 
</Component> 
<Component Id="Component2" Guid="*"> 
    <![CDATA[VersionNT64]]> 
    <File Id="File2" Name="2.dll" Source="c:\dlls\2.dll"/> 
</Component> 
4

はモートンの答えを拡張し、私はこの答えは非常に曖昧で、細部の多くが欠落しているウィックス3.6

 <Component Directory="INSTALLLOCATION"> 
     <File Id="msvcp100.dll_x64" Source="$(var.x64)\msvcp100.dll" KeyPath="yes" /> 
     <Condition><![CDATA[VersionNT64]]></Condition> 
    </Component> 
    <Component Directory="INSTALLLOCATION"> 
     <File Id="msvcp100.dll_x86" Source="$(var.x86)\msvcp100.dll" KeyPath="yes" /> 
     <Condition><![CDATA[Not VersionNT64]]></Condition> 
    </Component> 
関連する問題