none
Setup.exe is not a valid Win32 application RRS feed

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

    Freitag, 2. August 2013 11:16
    Moderator
  • Hallo, kann es sein das es nur bei C++ geht? Ich arbeite mit C# !! Oder gibt es dafür noch etwas anderes?

    oema von MSDN

    Freitag, 2. August 2013 17:40
  • 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

    Freitag, 2. August 2013 19:54
    Moderator
  • Hallo Marcel, klingt ja schon mal beruhigend, wenn es bei dir funktioniert. Dann muss das bei mir ja auch passen.

    Meine weiteren Fragen:

    1. Hast du die Updates die es dafür gibt installiert, oder hat es bei dir ohne diese funktioniert?
    2. 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.
    3. 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

    Montag, 5. August 2013 06:42
  • 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

    Mittwoch, 7. August 2013 17:13
    Moderator
  • 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

    Mittwoch, 7. August 2013 21:45
  • Hallo oema,

    das hört sich vielversprechend an. Es gibt einige Berichte im Netz, die nahelegen, dass fehlende oder korrupte Prerequisite-Pakete den Fehler verursachen.

    Gruß
    Marcel

    Donnerstag, 8. August 2013 05:57
    Moderator