WinAPI Programmierung unter Windows Vista?
-
Hallo Forum,
ich wollte nur mal fragen, ob jemand mit WinAPI programmiert und schon Vista im Einsatz hat. Ich habe nämlich Horrorgeschichten gehört, dass die meisten "alten" Programme nicht mehr laufen sollen bzw. auch diekt mit WinAPI erstellte.
-
WinAPI gibt es ganz normal.
MS hat nur endlich mal durchgezogen, dass Programme nicht mehr per default mit dem Admin-Account versehen werden und somit ein schreiben in HKLM nicht mehr möglich ist (was schon seit NT so ist, wenn ein Benutzer unter normalen Rechten gestartet eingelaggt war).
In Vista wurde für "alte" Programme ein sog. "virtualization" der Registry/Dateisytemzugriffe eingeführt, die das schreiben in HKLM und unter %ProgramFiles% in einen "Virtual-Store" umleiten. Somit laufen die alten Programme i.d.R. ohne Probleme unter Vista.
Sonst haben sich auch noch ein paar kleinigkeiten geändert:
http://blog.m-ri.de/index.php/2007/03/26/vista-beendet-programme-auch-wenn-wm_queryendsession-false-returniert/Siehe:
Guidelines for applications:
http://msdn2.microsoft.com/en-us/library/aa373651.aspxRegistry Virtualisation
http://msdn2.microsoft.com/en-us/library/aa965884.aspx
http://blog.m-ri.de/index.php/2007/02/10/der-virtualstore-und-seine-schattenseiten/Developer Best Practices and Guidelines for Applications in a Least Privileged Environment
http://msdn2.microsoft.com/en-us/library/aa480150.aspx
-
Wer sich an die Standards gehalten hat, der hat überhaupt keine Probleme mit seinen Programmen unter Vista.
Wir haben ein Projekt mit 25MB ausführbaren Code in 14 EXEs, Services und knapp 60 DLLs und ActiveX Modulen mehr oder weniger nur durch Ergänzung der trustinfo Manifeste Vista fähig gemacht. Es war ein klax.
Anpassung maximal 2 Tage.
Selbst ohne diese trustinfo Manifeste wäre alles OK gewesen.
Aber gemeiner Weise bekommt man ohne dieses Manifest ja nicht mehr die Meldung "Du darfst hier nicht schreiben" weil es den Virtual Store gibt!Die aus meiner Sicht spannensten Erkenntnisse die mir unterkamen habe ich in meinem Blog verewigt unter der Vista Sektion:
http://blog.m-ri.de/index.php/category/programmieren/vista/Allerdings: Es stimmt, dass 1000de von Programmen von Wildwuchsprogrammieren einfach so meinen überall hinschreiben zu dürfen und das jeder Programmnutzer Admin ist... Diese Programme funktionieren alle nicht mehr... oder eingeschränkt, und das zurecht!

-
Dazu mal eine Frage zu Vista und Threads :
Teilen sich unter Vista "zusammengehörige" Threads den gleichen Adressraum oder hat jeder der Threads seinen "eigenen" ?
-
Was meinst Du mit "zusammengehörige Threads"?
Ein Thread gehört zu einem Prozess und in einem Prozess kann es mehrere Threads geben. Natürlich teilen sich alle Threads in einem Prozess den Speicher des Prozesses.PS: Jeder Thread hat nur seinen eigenen Stack und sein eigenes TLS
PPS: Mit Vista hat das nicht viel zu tun...