Seite 1 von 1

[VS2012] Wie erstellt man eine XP-taugliche Exe?

Verfasst: 03.07.2013, 12:08
von Schrompf
Hallo Leute!

Ich brauche mal wieder eure Hilfe bzw. Erfahrung. Wie ihr im Splatter-Thread vielleicht schon gelesen habt, habe ich den ersten Käufer gewonnen, der nur WindowsXP hat. Laut meinen leichtsinnig dahingeschriebenen Mindestanforderungen läuft das Spiel auch auf WinXP. Und bisher *dachte* ich, das wär ne einfache Sache. Ist es aber wohl doch nicht.

Laut http://msdn.microsoft.com/en-us/library ... 51139.aspx soll es reichen, einfach in den Projekteigenschaften, Abteilung "Allgemeines" das Toolset auf "v110_xp" umzustellen. Habe ich ausprobiert, erstmal nur mit dem Exe-Projekt. Die neue Exe läuft wie vorher auf meinem System. Diese neue Exe habe ich mal mit der Standard v110-Toolset-Version verglichen. Ein paar Dutzend Byte am Anfang sind unterschiedlich, die Versionsnummer sank von 0600 zu 0501, und irgendwo in den Daten hintendran sind ein paar Bytes dazugekommen, weswegen alle möglichen Verweise quer durch die Exe auch ihre Werte geändert haben. Hm.

Der erste Test ist nun von eben jenem XP-Nutzer gemacht worden und lautet: die Exe wird von WinXP immernoch als "keine gültige Win32-Exe" angesehen. Ich habe jetzt nochmal alle Projekte in der Solution auf V110_XP umgestellt und die Exe neugebaut. Wer mal selbst vergleichen will: http://www.dreamworlds.de/privat/SplatterExen.zip

Vorsicht: die Exe ist bereits auf einem deutlich neueren Stand als die Verkaufsversion. Ende dieser Woche soll das erste Update kommen.

Meine Frage nun: hat jemand hier schonmal XP-taugliche Executables mit Visual Studio 2012 gebaut? Gibt es da was zu beachten? Irgendwelche erhellenden Erfahrungsberichte?

Ich werd jetzt mal ne VM installieren, denke ich.

Re: [VS2012] Wie erstellt man eine XP-taugliche Exe?

Verfasst: 03.07.2013, 13:08
von Schrompf
Na große Freude. Schon allein die Installation scheitert, weil der Installer des Visual Studio 2010 C++ SP1 Redistributable irgendwelche Einsprungpunkte in msi.dll und kernel32.dll nicht findet. Großartig.

Na ok, vielleicht steckt das in irgendnem Update drin. Erstmal alle Updates von WinXP durchlaufen lassen. Am Ende ist das echt ne Vanilla-Version, die man durch Dreamspark bekommt.

Re: [VS2012] Wie erstellt man eine XP-taugliche Exe?

Verfasst: 03.07.2013, 13:31
von Schrompf
Das ist echt nicht mehr lustig. Der vorinstallierte Internet Explorer crasht oder hängt sich auf mit allen aktuellen Seiten. Die "Windows Update"-Seite besagt im Titel, dass sie nicht mehr von WinXP aus benutzbar ist. Aber nur im Titel - den Rest der Seite siehst Du gar nicht mehr, weil sich IE aufhängt. Der Download jedes anderen Browsers scheitert manchmal an Chrashes, aber spätestens beim Installer des Browsers, der irgendeine DLL-Funktion braucht, die es auf Vanilla XP noch nicht gibt.

Boah, das macht keinen Spaß mehr. Jetzt habe ich SP3 auf meinem Hauptrechner runtergeladen, wieder auf meinen Privatserver hochgeladen und dann per Direktlink dazu in der VM runtergeladen. Und jetzt sagt mir das Mistgerät, dass es SP1 braucht, um SP3 zu installieren.

Und das alles für 7% Restnutzer von WindowsXP.

Re: [VS2012] Wie erstellt man eine XP-taugliche Exe?

Verfasst: 03.07.2013, 14:14
von Schrompf
Wenn ich das hier eh nur zum Unterhaltungswert mache, kann ich auch weiterwettern

Ich brauche also WinXP SP1. Den gibt es von Microsoft nur noch als "Express"-Version, die die nötigen Daten aus dem Netz zieht. Bzw. ziehen soll, den MS hat anscheinend die Server dafür schon abgeschaltet. Also doch nochmal eine FullInstall im Netz gesucht, dabei diversen Download-Abo-Zahlseiten ausgewichen, jetzt ist SP1 installiert, JETZT installiert auch SP3 und
*jetzt* kann ich tatsächlich Windows Update nutzen.

Und damit kann ich jetzt überhaupt erst anfangen, warum die angeblich WinXP-kompatible Exe von WinXP nicht als kompatibel angesehen wird.

Re: [VS2012] Wie erstellt man eine XP-taugliche Exe?

Verfasst: 03.07.2013, 14:43
von Chromanoid
Refund und Mindestanforderungen anpassen? :)
Nichtsdestotrotz interessant zu lesen.

Re: [VS2012] Wie erstellt man eine XP-taugliche Exe?

Verfasst: 03.07.2013, 14:47
von Schrompf
Jetzt, da ich die VM soweit habe, habe ich auch recht schnell das Problem gefunden. Die Exe wird tatsächlich als gültige Win32-Anwendung akzeptiert, wenn ich alle Projekte in der Solution auf V110_XP umstelle und alles neubaue. Das werde ich jetzt mal tun und dann auch so lassen, denke ich, da es anscheinend keine Nachteile hat.

Hat jemand dazu noch weitergehende Kenntnisse?

Re: [VS2012] Wie erstellt man eine XP-taugliche Exe?

Verfasst: 03.07.2013, 15:49
von Krishty
Vergiss bitte nicht, dass SSE nur für Windows Vista Mindestanforderung ist. Auf XP ist es nicht garantiert.

Falls du XP <= SP1 unterstützen möchtest, kann ich dir entsprechende Unterlagen zukommen lassen. Ansonsten baue ich meinen XP-kompatiblen Kram immer mit dem Visual Studio 2010-Compiler von der 2012er IDE aus; V110_XP-Kenntnisse habe ich also nicht.

(Meine Taktik:
  1. Eine 32-Bit-SSE-freie Version, die auch unter XP läuft, mit V100; und
  2. eine 64-Bit-SSE2-Version, die ab Vista und x64 läuft, mit V110.
Optimiert wird nur noch für 2.; die 32-Bit-Version kann von mir aus kriechen.)

Re: [VS2012] Wie erstellt man eine XP-taugliche Exe?

Verfasst: 03.07.2013, 16:56
von Schrompf
Ok, Danke für die Info. SSE ist ein guter Hinweis, das schreib ich einfach in die Mindestanforderungen. Laut Steam Hardware Survey haben quasi alle mindestens SSE2, das ist also nur für mich als Rechtssicherheit.

WinXP mag ich dagegen nicht knicken, ein paar Leute haben das ja doch noch, und durchaus auch mit zockfähigen Rechnern, nicht nur irgendwelchen Laptops oder Netbooks. Aber da reicht mir ab SP3. Danke also für das Angebot, aber ich erspare mir da weitere Arbeit.