Was sind die Hauptunterschiede zwischen der Programmierung für Windows XP und für Vista?

StackOverflow https://stackoverflow.com/questions/22674

  •  09-06-2019
  •  | 
  •  

Frage

Gibt es aus der Sicht eines Desktop-Anwendungsentwicklers einen Unterschied zwischen der Entwicklung für Windows XP und der Entwicklung für Windows Vista?

War es hilfreich?

Lösung

Benutzeroberfläche

Mit Blick auf die Richtlinien zur Benutzerfreundlichkeit von Windows Vista Sie können sehen, dass viele Elemente der Benutzeroberfläche geändert wurden, was Sie beachten sollten.Einige wichtige Dinge, die Sie beachten sollten:

64-Bit

Vista verfügt über eine 64-Bit-Version, und obwohl dies auch bei XP der Fall war, verwenden Ihre Benutzer eher Vista 64 als XP 64.Jetzt müssen Sie sich mit Folgendem befassen:

UAC

Benutzerkontensteuerung hat erhebliche Auswirkungen auf die Standardberechtigungen, über die Ihre Anwendung bei der Interaktion mit dem Betriebssystem verfügt.

Neue APIs

Es gibt neue APIs, die entweder auf neue Methoden der Anwendungskonstruktion abzielen oder neue Funktionen ermöglichen:

Installateure

Da Installationen nur gemeinsame Laufzeiten verwenden können, die sie nach Abschluss einer Transaktion installieren, benutzerdefinierte Aktionen wird versagen wenn Ihre benutzerdefinierte Aktions-DLL die Visual C++-Laufzeiten über dem VS 2005 CRT (nicht SP1) erfordert.

Andere Tipps

Nicht immer Gehen Sie davon aus, dass Ihr Benutzer Zugriff auf bestimmte Schlüsselbereiche der Disc hat (z. B.Programmdateien, Windows-Verzeichnis usw.).Stattdessen kann das Standardbenutzerkonto nur auf einen kleinen Teil seiner Anwendungsdaten schreiben.Außerdem können sie nicht in globale Bereiche der Registrierung schreiben, sondern nur in den aktuellen Benutzerbereich.

Sie können ihre Privilegien natürlich erhöhen, aber das an sich ist eine Aufgabe.

Im Allgemeinen ist die Programmierung für Vista die gleiche wie für XP, Sie müssen lediglich auf die Einschränkungen für neue Konten achten.

Schauen Sie sich diese Seite an, um zu erfahren, wie Sie Ihre Anwendung „UAC-fähig“ machen.

http://www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx

Das kann sein, aber das ist eine bewusste Entscheidung, die Sie als Entwickler treffen.Sie können neue Vista-Inhalte wie UAC und CommandLinks und Aero usw. verwenden.Aber das ist nicht nötig (sogar die Benutzerkontensteuerung kann umprogrammiert werden – tun Sie einfach nichts, was Administratorrechte erfordert).Wenn Sie den ganzen Vista-Kram ignorieren, gibt es absolut keinen Unterschied zwischen den beiden.

Wenn Sie diese Dinge in Ihre App integrieren möchten, macht das einen Unterschied.Aber ich würde sagen, kein riesiger.Und wenn Sie die Unterschiede abstrahieren (z. B. Ihre eigene Funktion schreiben, die einen TaskDialog für Vista anzeigt, aber die Eingabe, die Sie in eine MesssageBox unter XP geben, verdummt), dann schreiben Sie nur gegen Ihren eigenen Code. und die Unterschiede werden fast nichts zu sein scheinen.

Außerdem sind viele der neuen Dinge von Vista (z. B. UAC oder Aero) Dinge, über die Sie sich einmal Gedanken machen, wenn Sie die erste Funktionalität erstellen, die sie verwendet, sie zum Laufen bringen und dann nie wieder darüber nachdenken, während Sie dabei sind Entwicklung der App.

Der bei weitem schmerzhafteste Teil bei der Umstellung einer Anwendung von XP auf Vista (aus meiner Sicht) ist der Umgang mit den zahlreichen Diensten und IPv6-Sachen, die bisher freie Ports nutzen, und der Übergang von Wireless Provisioning zu Native WiFi.

Das UAC-Zeug ist im Grunde ein strittiger Punkt;Der Anwendungsentwickler muss nur sehr wenig tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top