# Softwareentwicklung - Programm Vista fähig machen



## frEnzy (10. Juli 2009)

*Softwareentwicklung - Programm Vista fähig machen*

Hallo Leute, ich hätte gern mal ein Problem 

*Also, folgende Situation:* Ich arbeite als Softwareentwickler und unser Produkt ist für WinXP programmiert. Jetzt stellt aber unser größter Kunde demnächst auf Vista um und jetzt muss unser Programm eine "Vistalauffähigkeit" verpasst bekommen.

*Große Frage:* Was braucht ein Programm bzw. was darf es machen bzw. was darf es NICHT machen bzw. worauf muss generell geachtet werden, wenn es unter Vista lauffähig sein soll? 

*Andere Frage:* Gibt es irgendwo eine vernünftige Auflistung der Unterschiede zwischen Vista und XP, die auch die für Softwareentwickler relevanten Informationen beinhaltet? Ich habe bisher immer nur so "wischiwaschi" Zusammenfassungen gefunden, a la _"Vista hat jetzt Aero und die Benutzerkontensteuerung, ist ganz toll klickiebuntie und und und.."_. Aber wo jetzt genau die Unterschiede im Detail liegen und vor allem wie sie uns Softwareentwickler beeinflussen, worauf wir achten müssen, scheint es einfach nicht zu geben...  Kennt da jemand was vernünfiges?

*Beispiel Problem:* Unser Programm braucht schreibrechte im eigenen Verzeichnis. Kann man bei der Installation des Programms im Standard Installations Pfad irgendwie einstellen, dass der Benutzer Schreibrechte auf den Ordner bekommt? Generelle Schreibrechte auf den gesamten Programme Ordner wird nicht möglich sein! da würden uns die Admins einen Vogel zeigen, wenn wir mit der Idee kämen?  Alternativen? Klar, eine Installation in einem eigenen Ordner, der nicht im Standardinstallationspfad liegt wäre eine Lösung. Die finde ich aber nicht so schön.

*Tool Frage: *Gibts ein Tool, dass mir die Unterschiede zwischen der Regestry vor und der Regestry nach der Installation bzw. dem ersten Starten des Programms (mit Adminrechten) anzeigt? Da wird nämlich von einem Tool, das wir nutzen, noch was eingetragen. Jetzt ist nur die Frage: Was? Und wo?

*---*

Sobald diese ersten Fragen beantwortet sind, werde ich selbst mal weiter forschen. Am "Objekt" selbst, sozusagen. Spätestens am Montag wird meine Vista-Festplatte fertig sein und der IT-Heinie wird sie einbauen. Dann gehts ans Eingemachte ^^ Aber danke schon mal für die (hoffentlich) guten Antworten


----------



## Lasix (12. Juli 2009)

*AW: Softwareentwicklung - Programm Vista fähig machen*

Hi frEnzy,



frEnzy schrieb:


> Hallo Leute, ich hätte gern mal ein Problem



Kannst Du gerne haben. Ich schick Dir sofort meine "großen Brüder" vorbei 



frEnzy schrieb:


> *Also, folgende Situation:* Ich arbeite als Softwareentwickler und unser Produkt ist für WinXP programmiert. Jetzt stellt aber unser größter Kunde demnächst auf Vista um und jetzt muss unser Programm eine "Vistalauffähigkeit" verpasst bekommen.
> 
> *Große Frage:* Was braucht ein Programm bzw. was darf es machen bzw. was darf es NICHT machen bzw. worauf muss generell geachtet werden, wenn es unter Vista lauffähig sein soll?
> 
> *Andere Frage:* Gibt es irgendwo eine vernünftige Auflistung der Unterschiede zwischen Vista und XP, die auch die für Softwareentwickler relevanten Informationen beinhaltet? Ich habe bisher immer nur so "wischiwaschi" Zusammenfassungen gefunden, a la _"Vista hat jetzt Aero und die Benutzerkontensteuerung, ist ganz toll klickiebuntie und und und.."_. Aber wo jetzt genau die Unterschiede im Detail liegen und vor allem wie sie uns Softwareentwickler beeinflussen, worauf wir achten müssen, scheint es einfach nicht zu geben...  Kennt da jemand was vernünfiges?



Mir ist bis jetzt nur folgende, kurze Auflistung bekannt:
What are the main differences between programming for windows XP and for Vista? - Stack Overflow


Und im MSDN findet sich auch die eine oder andere Information:
Windows User Experience Interaction Guidelines



frEnzy schrieb:


> *Beispiel Problem:* Unser Programm braucht schreibrechte im eigenen Verzeichnis. Kann man bei der Installation des Programms im Standard Installations Pfad irgendwie einstellen, dass der Benutzer Schreibrechte auf den Ordner bekommt? Generelle Schreibrechte auf den gesamten Programme Ordner wird nicht möglich sein! da würden uns die Admins einen Vogel zeigen, wenn wir mit der Idee kämen?  Alternativen? Klar, eine Installation in einem eigenen Ordner, der nicht im Standardinstallationspfad liegt wäre eine Lösung. Die finde ich aber nicht so schön.



Mal eine generelle Frage: Wieso benötigt Dein Programm überhaupt Schreibrechte für den Installationsordner? Das war doch schon unter WinXP schlechter Stil, soweit ich mich erinnere. Stattdessen einfach alle Einstellungen in die Benutzerordner "legen" (und Einstellungen, die für alle Nutzer gelten sollen, von einem Administrator, z.B. direkt während der Installation oder danach, vornehmen lassen). Alternativ könntest Du das Installationsprogramm auch die Schreibrechte für den Installationsordner (C:\Programme\MeinProgramm) auch auf "Normale" Benutzer-Konten erweitern lassen.



frEnzy schrieb:


> *Tool Frage: *Gibts ein Tool, dass mir die Unterschiede zwischen der Regestry vor und der Regestry nach der Installation bzw. dem ersten Starten des Programms (mit Adminrechten) anzeigt? Da wird nämlich von einem Tool, das wir nutzen, noch was eingetragen. Jetzt ist nur die Frage: Was? Und wo?


Ich mal gehört, dass es solche Tools gibt. (Der Bruder meines Schwagers meine Onkels... )  Leider kann ich Dir keines nennen, weil ich selbst keines kenne.*

Generell: *Einstellungen immer in die Benutzerordner und nicht in den Installationsordner. Die Registry ist für (Standard-)Anwendungen (seit Vista) eigentlich generell tabu. (Es sei denn, es gibt keine andere Lösung für die Verwendung der Registry)


frEnzy schrieb:


> Sobald diese ersten Fragen beantwortet sind, werde ich selbst mal weiter forschen. Am "Objekt" selbst, sozusagen. Spätestens am Montag wird meine Vista-Festplatte fertig sein und der IT-Heinie wird sie einbauen. Dann gehts ans Eingemachte ^^ Aber danke schon mal für die (hoffentlich) guten Antworten



So. Jetzt hab ich viel geschrieben, aber Dir höchst wahrscheinlich nicht wirklich weitergeholfen... Ich sollte mich wohl gleich mal als Kandidat für die nächste Bundeskanzlerwahl bewerben...


----------



## frEnzy (12. Juli 2009)

*AW: Softwareentwicklung - Programm Vista fähig machen*



Lasix schrieb:


> Hi frEnzy,
> *Mal eine generelle Frage:* Wieso benötigt Dein Programm überhaupt Schreibrechte für den Installationsordner? Das war doch schon unter WinXP schlechter Stil, soweit ich mich erinnere. Stattdessen einfach alle Einstellungen in die Benutzerordner "legen" (und Einstellungen, die für alle Nutzer gelten sollen, von einem Administrator, z.B. direkt während der Installation oder danach, vornehmen lassen). Alternativ könntest Du das Installationsprogramm auch die Schreibrechte für den Installationsordner (C:\Programme\MeinProgramm) auch auf "Normale" Benutzer-Konten erweitern lassen.
> *
> Generell: *Einstellungen immer in die Benutzerordner und nicht in den Installationsordner. Die Registry ist für (Standard-)Anwendungen (seit Vista) eigentlich generell tabu. (Es sei denn, es gibt keine andere Lösung für die Verwendung der Registry)



Danke schon mal für die Antwort. Jetzt ein paar Antworten dazu von mir 

Das mit den Schreibrechten im Installationsordner ist ne historisch gewachsene Geschichte. Das Programm gibts seit fast 15 Jahren und wurde ständig weiterentwickelt. Da es aber nur sehr wenig Entwickler gab und auch gibt, wurden halt Prioritäten gesetzt. "Unschön" bzw. "schlechter Stil" waren nicht unbedingt ein Grund das funktionierende noch mal zu ändern. Neue Funktionalitäten waren einfach wichtiger  Das einem das irgendwann wieder auf die Füße fällt ist klar. Aber dann kann man das ja dann noch machen  So wurde über Jahre verfahren und erst seit kurzem, also seit dem nicht mehr nur in Lisp programmiert wurde sondern jetzt auch C++ dazu kam, wurde das anders und auch besser. Trotzdem wurden wegen fehlender Manpower viele Dinge liegen gelassen und durch Verwurstungen irgendwie umgangen bzw. erstmal gerettet. Bisher gab es auch einfach keine Konkurrenz, die einen zu mehr Qualität hätte zwingen können. Die wächst jetzt aber allmählich heran und gefährdet sozusagen unser Monopol ^^ Und jetzt kommt auch noch die Vistaumestellung unseres größten Kunden und dann muss halt mal was passieren  Und da ich der neuste in der Firma bin habe ich gleich mal den Auftrag bekommen, die Problemstellen bei der Umstellung zu finden ^^


----------



## frEnzy (13. Juli 2009)

*AW: Softwareentwicklung - Programm Vista fähig machen*

Danke noch mal an Lasix. Von deinem Link wurde weiter verlinkt auf CodeProject: Making Your Application UAC Aware. Free source code and programming help und AC: User Account Control . Und diese Seiten sind genau das, was ich brauche. Danke ^^

PS: Hat dein Name was mit dem Medikament Lasix zu tun? ^^


----------



## Lasix (27. Juli 2009)

*AW: Softwareentwicklung - Programm Vista fähig machen*



frEnzy schrieb:


> PS: Hat dein Name was mit dem Medikament Lasix zu tun? ^^



Mist, ich wurde enttarnt.  

Jetzt musst Du leider sterbe...


----------

