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!
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.
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.
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.
Tags und Links msbuild wix windows-installer bootstrapper