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

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
Benutzeravatar
Schrompf
Moderator
Beiträge: 5164
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

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

Beitrag 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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5164
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

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

Beitrag 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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5164
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

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

Beitrag 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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5164
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

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

Beitrag 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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4286
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

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

Beitrag von Chromanoid »

Refund und Mindestanforderungen anpassen? :)
Nichtsdestotrotz interessant zu lesen.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5164
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

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

Beitrag 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?
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Krishty
Establishment
Beiträge: 8351
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

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

Beitrag 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.)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Schrompf
Moderator
Beiträge: 5164
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

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

Beitrag 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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Antworten