Starten Sie x86 oder x64 MSI von MSBuild Bootstrapper

8

Also habe ich ein WiX-basiertes MSI, das eine Handvoll Gerätetreiber installiert und daher habe ich eine x64- und eine x86-Version. Das Paket hat auch eine .NET 3.5-Abhängigkeit, deshalb erzeuge ich einen Bootstrapper und starte dann das MSI. Meine Frage ist, ob irgendjemand eine Möglichkeit kennt, einen Bootstrapper zu erstellen, der die Plattform erkennt, auf der er läuft, und das entsprechende MSI startet. Ich habe nach einer solchen Lösung gegoogelt und bisher nichts gefunden. Danke!

    
MattB 02.10.2009, 00:16
quelle

3 Antworten

3

Leider benötigt der Windows Installer ein separates MSI-Paket für x86 und x64.

Mit WiX v3.6 + Burn steht die Funktionalität zur Verfügung, um die beiden Pakete in einer einzigen Installation zu "bündeln" (gesteuert von der ausführbaren Datei "Burn"). Du könntest es mit einer .wxs-Datei machen, die etwas wie folgt aussehen würde:

%Vor%

Das fängt gerade an, die Oberfläche von allem, was Burn kann, zu zerkratzen, aber es zeigt, wie man die beiden Architekturpakete in einer einzigen Installationserfahrung zusammenfasst.

    
Rob Mensching 17.03.2013 21:43
quelle
1

Wenn Sie .Net installieren, bevor Sie Ihre MSI starten, können Sie auch eine in c # geschriebene EXE einfügen, die Ihre Plattform erkennt und die Antwort dann an Ihren Bootstrapper zurückgibt.

Ich habe eine Exe verwendet, die die Plattform erkannt hat, und habe einen Registrierungsschlüssel erstellt, den ich überprüft habe, um zu entscheiden, was ich starten soll.

C # -Beispiel

    
Gabriel 09.10.2009 18:32
quelle
0

dotNetInstaller ist wahrscheinlich das, was Sie brauchen: Sie können verschiedene "Setup" -Konfigurationen erstellen, die nur bei richtiger Kombination ausgelöst werden von OS, Plattform und Sprache sind erfüllt. Sie können auch alle MSIs, Voraussetzungen usw. in die ausführbare Setup-Datei einbetten, so dass Benutzer nur eine einzige Datei zum Herunterladen / Ausführen haben.

    
BCran 03.09.2010 22:30
quelle