Ich verwende das VS2008-Installationsprogramm (plus eine benutzerdefinierte Orca-Aktion), um ein Installationsprogramm für mein .NET-Produkt zu erstellen.Wie kann ich mit meinem VS2008 x86-Installationsprogramm x64-Assemblys auf x64 installieren?
Ich habe gerade kürzlich herausgefunden, dass eine der Drittanbieter-Assemblies, die ich verwendete, x86-spezifisch ist (da es einigen systemeigenen Code enthält); Daher wurden x64-Kunden beim Start abgestürzt, wobei Fehler bezüglich der Assembly nicht für ihre Plattform geeignet waren.
Ich schickte einem solchen Kunden eine Kopie der x64-Version dieser Drittanbieter-Assembly und sagte ihm, es einfach über die bestehende x86-Version zu kopieren. Es hat funktioniert, süß! Jetzt muss ich den Installer das nur für mich machen lassen.
Das scheint eigentlich nicht trivial :(. Idealerweise möchte ich nur das Installationsprogramm (das wäre x86, da das auf beiden Plattformen ausgeführt werden kann) sowohl die x86 und x64-Versionen dieser Drittanbieter-Assembly und installieren Sie die Mit anderen Worten, ich möchte ein einziges Installationsprogramm, das den Benutzern das Leben leicht macht.
Ich dachte, ich hätte dies mit MSI-bedingten Anweisungen und all dem. Aber anscheinend nein ... die VS2008 Setup-Projekte Kompiliert wird nur, wenn Sie "x86" oder "x64" angeben. Wenn Sie x86 angeben, wird ein Kompilierungsfehler angezeigt, der besagt, dass die x64-Assembly nicht enthalten sein kann. Wenn Sie x64 angeben, kann das Ergebnis nicht auf einem x86-Computer ausgeführt werden Verdammt!
Jemand muss dieses Problem schon einmal gehabt haben. Leider ist Google nicht hilfreich, also wende ich mich an StackOverflow!
Danke; Das ist die beste Lösung, denke ich. Wenn Sie sagen, dass "ein x86 MSI mit WOW64 auf einer x64-Plattform installiert wird", würde dies bedeuten, dass meine Anwendung am Ende WOW64 wäre? Und ich vermute, das ist schlecht. Also könnte ich am Ende eine Art von Boonstrapper zwischen MSIs wählen? – Domenic
"Würde das bedeuten, dass meine Bewerbung am Ende WOW64 wäre?" - Ja, das würde genau das bedeuten. Ihre Anwendung wird als 32-Bit-Prozess auf einem 64-Bit-Rechner ausgeführt, da sie im Ordner "Programmdateien (x86)" installiert ist. Ein x86-Bootstrapper ist in der Tat eine Lösung, mit der Sie das entsprechende MSI gezielt starten können. –