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?
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 li> 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 li>
- 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
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.
Tags und Links windows