Fragensteller
Setup.exe is not a valid Win32 application

Allgemeine Diskussion
-
Hallo, wollte ein Projekt das ich in VS2010 erstellt habe in Vs2012 weiterberabeiten. Beim installieren auf einem WinXP-Rechner kommt dann diese Meldung:" setup-exe-is-not-a-valid-win32-application".
Nun, geht das mit C# nicht, das ich die Applikation für WInXP erstelle? Da gab es doch diese Updates? Gibt es keine Möglichkeit, das mit Vs2012 zu meistern?
oema von MSDN
- Typ geändert Marcel RomaModerator Samstag, 31. August 2013 07:43 Diskussion
Alle Antworten
-
Hallo oema,
ich verstehe nicht ganz: Das sollte doch über eine entsprechende Änderung des Platform Toolkits - genau wie in deinem Link angegeben - problemlos funktionieren. Allerdings müsste man die letzten VS2012-Updates installiert haben und die Bitigkeit beider Systeme (bzw. die in VS eingestellte Platform) sollten übereinstimmen.
Gruß
Marcel
-
Hallo,
angesichts deines Links bin ich davon ausgegangen, dass Du eine C++-Solution hast. Wenn Du eine reine C#-Solution hast, muss man sich nach anderen Erklärungen umsehen wie z.B. falsche Bitigkeit, falsches Framework, korrupte Datei usw. Ich habe der Reihe nach in VS 2012 eine C# 4.5-, 4.0- und 3.5-Anwendung als ClickOnce-Anwendung veröffentlicht und die generierte Bootstrapper-Datei unter Windows XP ausgeführt. Die von dir genannte Meldung wurde nicht angezeigt. Bei korrekten Einstellungen für Framework, Plattform, Manifest, Prerequisites wurde die Anwendung ohne Zwischenfälle auf XP installiert. Mir fehlen leider weitere Anhaltspunkte.
Gruß
Marcel -
Hallo Marcel, klingt ja schon mal beruhigend, wenn es bei dir funktioniert. Dann muss das bei mir ja auch passen.
Meine weiteren Fragen:
- Hast du die Updates die es dafür gibt installiert, oder hat es bei dir ohne diese funktioniert?
- Ich habe das so eingestellt, das sowohl die 32- und 64-Bitvariante erstellt wird, und bei der Installation das System dann das benötigte verwendet. War das bei dir auch so eingestellt, oder hast du nur die 32-Bitvariante erstelllt? Evtl. liegt das daran.
- Der Bootstrapper ist ja die "setup.exe", oder? Der hat immer noch gefehlt (eine Meldung unter Projekt => Eigenschaften => Veröffentlichen => Erforderliche Komponenten. Außerdem fehlt der Installer für 3.1, siehe Bild:
Wäre das noch ein Indiz,warum es nicht funktioniert?
oema von MSDN
-
Hallo oema,
1. Ich arbeite unter VS 2012 tagesaktuell, mit den letzten Service Packs.
2. Was hast Du denn eingestellt, damit sowohl die 32bit als auch die 64bit-Variante erstellt werden? In einem einzigen Paket?? - Die Prozessorarchitektur ist Teil der Identität einer Assembly und das Deploymentmanifest enthält entsprechende Angaben im assemblyIdentity-Element. Deshalb verstehe ich nicht ganz, wie Du sowohl 32- als auch 64bit in der gleichen Manifestdatei untergebracht hast. Bei mir erstelle ich separate Deployments für 32/64bit. Der Benutzer darf dann wählen, welche Version er installieren möchte. Alles andere führt über kurz oder lang zu nichtaktualisierbaren, korrupten und nicht deinstallierbaren Client-Installationen.
3. Ja, der Bootstrapper ist die setup.exe. Der Bootstrapper wird aber von VS nicht erstellt, falls die Anwendung Prerequisite-Packages braucht, die es für x64 (noch) nicht gibt.
Du hast das Projekt wahrscheinlich von VS 2008 auf VS 2012 aktualisiert. Da es in VS 2012 aber kein Package für den Windows Installer 3.1 gibt, wird das Kästchen mit einem Ausrufezeichen angezeigt. Entferne das Häckchen und wähle stattdessen Windows Installer 4.5.Gruß
Marcel -
Hallo Marcel, folgendes von mir:
Zu 2:
Ich hatte in "Erstellen" => "Konfiguationsmanager" bei "aktive Prjektmappenplattform" zu der bestehenden x86 noch eine mit x64 erzeugt.
Somit bekomme ich drei Verzeichnisse erstell:
- Debug
- Release
- x64 - Debug
- Release
Beim erstellen habe ich bei "Projekkt" => "xxxxxxxx-Eigenschaften" unter Plattform meine aktive Plattform ausgewählt (x64) und bei Zeilplattform "AnyCpu" ausgewählt. Somit habe ich mit ClickOnce eine Installationsroutine von "setup.exe", die dann autom. die Installation für x86 oder x64 macht.
Zu 3:
Hatte heute schon mal 3.1 abgewählt und 4.5 aktiviert, somit konnte ich mit meiner virtuellen Maschne unter WinXP das "Setup.exe" starten (Erfolgsmeldung). Morgen werde ich weiter testen.
oema von MSDN