2009-03-25 10 views
20

Ich versuche herauszufinden, welche Version .NET mit WiX installiert ist. Ich habe versucht:Wie kann ich .NET 3.5 in WiX erkennen?

<Condition Message='This setup requires the .NET Framework 3.5 or higher.'> 
    <![CDATA[MsiNetAssemblySupport >= "3.5.0.0"]]> 
</Condition> 

Aber das wird nicht funktionieren, weil die MsiNetAssemblySupport Eigenschaft, um die Version von fusion.dll prüft, die nicht von der Version 2.0 in .NET 3.0 oder 3.5 aktualisiert wurde.

Ist es möglich, das Vorhandensein der .NET-Bibliotheken im Systemverzeichnis zu überprüfen? Wie würde ich das mit WiX machen? Oder gibt es eine Möglichkeit, das mit der Registrierung zu tun?

(Ich weiß, dass es eine WiX Benutzer E-Mail-Liste, aber dies ist die Oughts-- ich weiß nicht, wie die 1980er Jahre Technologie, Ich mag Sachen, die ich leicht finden.)

+2

Es ist ironisch, dass alle Antworten Suche auf Google sagen. Wenn das der erste Hit bei Google ist. – trampster

Antwort

37

Visual Studio -> WiX Projekt - > Verweis hinzufügen -> WixNetFxExtension.dll und dann:

<PropertyRef Id="NETFRAMEWORK35" /> 
<Condition Message="This setup requires the .NET Framework 3.5 to be installed."> 
    Installed OR NETFRAMEWORK35 
</Condition> 

Full details, einschließlich aller .NET version properties in der Verlängerung zur Verfügung. Überlegen Sie auch, ob die Zustandsmeldung localized lauten soll.

+0

Fehler LGHT0094: Nicht aufgelöste Referenz auf das Symbol 'Eigenschaft: NETFRAMEWORK35' im Abschnitt 'Produkt: *'. – mmr

+0

Muss auch-WiXNetFxExtension zu der Befehlszeile hinzufügen – mmr

+0

@mmr - Ich habe die Antwort geklärt, das ist alles, was ich tun muss, um es zum Laufen zu bringen. Dies wird einen Verweis auf wixproj hinzufügen, der -ext WixNetFxExtension automatisch zur Befehlszeile hinzufügt. – si618

1

Die Antwort scheint nein zu sein. Sie können nicht (zuverlässig) prüfen, ob .NET Framework Version X oder höher installiert ist. Sie können nur überprüfen, ob eine bestimmte .NET-Version installiert ist. Jetzt, da .NET 4.0 veröffentlicht ist, ist es ärgerlich, dass Sie .NET 3.5 installieren müssen, selbst wenn .NET 4.0 bereits installiert ist.

Ich hoffe, die WiX-Entwickler werden eine Lösung für dieses Problem finden.