2011-09-19 9 views
7

Mam 32-bitowy instalator WIX, który instaluje usługę Windows opartą na .NET. Potrzebuję użyć jednego zewnętrznego. Dll, który jest dostępny w wersjach 32-bitowych i 64-bitowych. Czy jest jakiś sposób, aby 32-bitowy instalator mógł wykryć, że działa na komputerze 64-bitowym? Chcę następnie warunkowo zainstalować 32-bitowy plik .dll.Wykryj system 64-bitowy z 32-bitowego instalatora WIX

Odpowiedz

-1

Utwórz właściwość za pomocą ProcessorArchitecture i pobierz wartość z rejestru. Opierając się na tej właściwości, należy utworzyć WARUNKOWĄ FUNKCJONALNOŚĆ.

+3

Ta odpowiedź jest dość niejasny i brakuje wielu szczegółów. Czy chcesz go rozszerzyć? – Marek

2

Spróbuj tego:

<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

Rozszerzanie odpowiedź Morten jest, zrobiłem to w Wix 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>