Wo ist die Richtlinie, die besagt, dass Sie nicht in den Programmbereich schreiben sollten?

8

Viele Fragen zu SO sagen "Windows Developer Guidelines" oder "Windows Design Guidelines" sagen, dass Sie keine temporären oder Programmdaten in den Programmbereich schreiben sollten, aber soweit ich feststellen kann, verlinkt keiner von ihnen tatsächlich mit einem Stück Dokumentation, die so viel sagt. Das Durchsuchen des MSDN hat zu keinen Ergebnissen geführt. Windows wird den Bereich schreibgeschützt machen, so dass es vom Betriebssystem durchgesetzt werden kann, aber das bedeutet nicht, dass Entwickler nicht versucht haben, dort trotzdem zu schreiben (zB wenn ältere, XP und ältere Programme nach vorne portiert werden). p>

Mir ist klar, dass es merkwürdig erscheint, so spät in der Windows-Entwicklung danach zu fragen (da, wie unten ein Kommentator betont wurde, vom Betriebssystem seit mehr als einem Jahrzehnt durchgesetzt wird), aber ein Dokument, das das sagt, ist manchmal notwendig um die Leute zufrieden zu stellen.

Vor diesem Hintergrund hat Microsoft ein Dokument veröffentlicht, das besagt, dass wir keine Anwendungsdaten in den Programmbereich schreiben sollten, und wenn ja, wo ist es?

    
Robert P 31.10.2012, 17:32
quelle

2 Antworten

12

Von Technische Anforderungen für das Windows 7-Clientsoftware-Logo-Programm :

  

Standardmäßig in die richtigen Ordner installieren

     

Benutzer sollten eine konsistente und sichere Erfahrung mit dem Standard haben   Installationsort von Dateien unter Beibehaltung der Option   Installieren Sie eine Anwendung an dem von Ihnen ausgewählten Speicherort. Es ist auch   notwendig, um Anwendungsdaten an der richtigen Stelle zu speichern   mehrere Leute den gleichen Computer benutzen, ohne zu korrumpieren oder   überschreiben einander die Daten und Einstellungen.

     

Windows stellt bestimmte Speicherorte im Dateisystem bereit   Programme und Softwarekomponenten, geteilte Anwendungsdaten und   Anwendungsdaten für einen Benutzer:

     
  • Anwendungen sollten standardmäßig im Ordner "Programme" installiert sein. Benutzerdaten oder Anwendungsdaten dürfen niemals in diesem gespeichert werden   Speicherort aufgrund der Sicherheitsberechtigungen, die hierfür konfiguriert sind   Ordner ( Hervorhebung hinzugefügt )
  •   
  • Alle Anwendungsdaten, die von Benutzern auf dem Computer gemeinsam genutzt werden sollen, sollten in ProgramData gespeichert werden   
  • Alle Anwendungsdaten, die ausschließlich für einen bestimmten Benutzer gelten und nicht mit anderen Benutzern des Computers gemeinsam genutzt werden dürfen, müssen gespeichert werden   Benutzer \ & lt; Benutzername & gt; \ AppData   
  • Schreiben Sie niemals direkt in das "Windows" -Verzeichnis und / oder in Unterverzeichnisse. Verwenden Sie die richtigen Methoden zum Installieren von Dateien, z   Schriftarten oder Treiber
  •   
  • In "pro-machine" -Installationen müssen Benutzerdaten bei der ersten Ausführung und nicht während der Installation geschrieben werden. Dies liegt daran, dass es keine gibt   Korrigieren Sie den Benutzerstandort, um Daten zum Zeitpunkt der Installation zu speichern. Versuche   durch eine Anwendung zum Ändern von Standardzuordnungsverhalten auf einem Computer   Level nach der Installation wird nicht erfolgreich sein. Stattdessen müssen Standardwerte   auf einer Benutzer-Ebene beansprucht werden, die mehrere Benutzer davon abhält   Überschreiben der Standardeinstellungen des anderen.
  •   

Und ich bin mir ziemlich sicher, dass es für jede Windows-Version der NT-Familie ähnliche Dinge gibt, die auf Windows NT 4 oder sogar früher zurückgehen.

Siehe auch Frage .

Bearbeiten: Der ursprüngliche Link in diesem Beitrag zum Windows 7 Logo Programm existiert nicht mehr. Hier finden Sie den aktuellen Link zu den Zertifizierungsanforderungen für Windows Desktop Apps . Siehe Abschnitt 10, Apps müssen standardmäßig in den richtigen Ordnern installiert werden

    
Matteo Italia 31.10.2012, 17:42
quelle
0

In späteren Versionen von Windows (Vista, 7 und natürlich Serverversionen) sind die Zugriffsrechte auf "spezielle Ordner" einschließlich "Programme" beschränkt. Selbst wenn Ihr Programm erhöht ist, um ausreichende Berechtigungen zum Schreiben in diesen Ordner zu haben, ist es immer noch eine schlechte Idee.

Ich kenne keine Richtlinien, die dies angeben, aber es gibt eine Liste spezieller Ordner und wozu sie bestimmt sind. Die Tatsache, dass es einen speziellen Ordner für fast alle Arten von Daten gibt, die ich abbilden kann, bedeutet, dass der Ordner für Programmdateien nicht benötigt wird.

    
thrag 31.10.2012 17:48
quelle

Tags und Links