2011-09-19 19 views
7

Ho un programma di installazione WIX a 32 bit che installa un servizio Windows basato su .NET. Ho bisogno di usare una dll esterna che arriva nelle versioni a 32 bit e 64 bit. C'è un modo in cui un programma di installazione a 32 bit può rilevare che è in esecuzione su una macchina a 64 bit? Voglio quindi installare condizionatamente la DLL. 32 o 64 bit.Rileva sistema a 64 bit dal programma di installazione WIX a 32 bit

risposta

-1

Creare una proprietà con ProcessorArchitecture e ottenere il valore di questo dal registro. Sulla base di questa proprietà creare una CARATTERISTICA CONDIZIONATA.

+3

Questa risposta è piuttosto vaga e manca un sacco di dettagli. Ti piacerebbe espanderlo? – Marek

2

Prova questo:

<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

Estendere la risposta di Morten, ho fatto questo in 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> 
Problemi correlati