Windows Standard Verzeichnisberechtigungen
Hallo,
meine Studienkollegen und ich schreiben gerade eine Software in Java, die wir möglichst problemlos deployen wollen.
Nun haben wir noch keine Kunden aber hätten gerne welche ;) und um die Akzeptanz der Software zu erhöhen, würden wir den
Installationsvorgang natürlich gerne so problemlos wie möglich gestalten.
Wenn wir unseren Installer auf unseren windows Testmaschinen starten (Windows 7 , 64 Bit) fällt uns aber auf
das je nach Konfiguration und Installation scheinbar Windows unterscheidet welche Rechte in unserem Installationsordner
unserer Software gegranted werden.
Meine Frage dazu:
Ich habe jede Menge gesucht und gelesen über die Berechtigungen von Windows im allgemeinen, aber ich konnte nichts
finden was die Fragen beantwortet
"wo installiere ich am besten Dritthersteller Software bzw wo kann diese am Besten ihre Konfigurationdaten ablegen"
(außer in Temp)
Um es noch etwas zu konkretisieren
Ich würde gerne wissen wo unsere Software installiert werden kann und Konfigurationsdaten abgelegt werden können
damit an einem Mehrbenutzersystem diese auch gut läuft, ohne das hier die Objektrechte dazwischenfunken.
Konkretes Beispiel:
Wir haben zB einen Windows 7 Rechner nennen wir ihn mal X, an dem starten wir unsere Software und alles ist prima, Software läuft.
Dann haben wir einen meiner Meinung nach ähnlich aufgesetzten Rechner nennen wir ihn Y und an diesem fragt unser
Installer bei der Installation mit dem SELBEN Installerfile auf einmal ob wir die File wirklich ausführen wollen - das
sollte nicht vorkommen.
Hat jemand eine Idee?
Kennt jemand eine Ressource wo ich dazu etwas nachlesen kann?
VG
Mike
meine Studienkollegen und ich schreiben gerade eine Software in Java, die wir möglichst problemlos deployen wollen.
Nun haben wir noch keine Kunden aber hätten gerne welche ;) und um die Akzeptanz der Software zu erhöhen, würden wir den
Installationsvorgang natürlich gerne so problemlos wie möglich gestalten.
Wenn wir unseren Installer auf unseren windows Testmaschinen starten (Windows 7 , 64 Bit) fällt uns aber auf
das je nach Konfiguration und Installation scheinbar Windows unterscheidet welche Rechte in unserem Installationsordner
unserer Software gegranted werden.
Meine Frage dazu:
Ich habe jede Menge gesucht und gelesen über die Berechtigungen von Windows im allgemeinen, aber ich konnte nichts
finden was die Fragen beantwortet
"wo installiere ich am besten Dritthersteller Software bzw wo kann diese am Besten ihre Konfigurationdaten ablegen"
(außer in Temp)
Um es noch etwas zu konkretisieren
Ich würde gerne wissen wo unsere Software installiert werden kann und Konfigurationsdaten abgelegt werden können
damit an einem Mehrbenutzersystem diese auch gut läuft, ohne das hier die Objektrechte dazwischenfunken.
Konkretes Beispiel:
Wir haben zB einen Windows 7 Rechner nennen wir ihn mal X, an dem starten wir unsere Software und alles ist prima, Software läuft.
Dann haben wir einen meiner Meinung nach ähnlich aufgesetzten Rechner nennen wir ihn Y und an diesem fragt unser
Installer bei der Installation mit dem SELBEN Installerfile auf einmal ob wir die File wirklich ausführen wollen - das
sollte nicht vorkommen.
Hat jemand eine Idee?
Kennt jemand eine Ressource wo ich dazu etwas nachlesen kann?
VG
Mike
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 201606
Url: https://administrator.de/contentid/201606
Ausgedruckt am: 19.11.2024 um 11:11 Uhr
4 Kommentare
Neuester Kommentar
Servus Mike,
also Programme installiert man in Windows unter %Programfiles%\Programmname...meist also C:\Programme\Programmname
die Konfigurationsdaten kannst Du dort auch ablegen oder halt unter %Appdata%\Roaming\Programmname bzw. %Appdata%\Local\Programmname (Windows Vista, 7, 8).
Detailliert nachlesen hier: http://msdn.microsoft.com/de-de
Gruß
Marcus
also Programme installiert man in Windows unter %Programfiles%\Programmname...meist also C:\Programme\Programmname
die Konfigurationsdaten kannst Du dort auch ablegen oder halt unter %Appdata%\Roaming\Programmname bzw. %Appdata%\Local\Programmname (Windows Vista, 7, 8).
Detailliert nachlesen hier: http://msdn.microsoft.com/de-de
Gruß
Marcus
Hi Mike,
ich bin leider kein Entwickler, aber ein bisschen Erfahrung ist vorhanden. Ich weiß soviel, dass die Abfrage "Wollen Sie die Datei wirklich ausführen?" beim Start von EXE-Dateien die in C:\Programme liegen nicht erscheint und das quasi per Design von Windows so ist.
Ich weiß auch soviel, dass ein normales Benutzerkonto in Windows sehr beschränkte Schreibrechte hat. Außer für die Ordner und %Appdata%. Ob Du hier nun die Unterordner Local oder Roaming verwendest hängt dann von Dir ab. Das ist auch nur wichtig in Active-Directory-Umgebungen.
Roaming bedeutet, dass bei Verwendung von servergespeicherten Profilen, diese Verzeichnisse beim An- und Abmelden mit dem Server sychronisiert werden und der Benutzer die Daten bei einem Rechnerwechsel quasi mitnimmt.
Local wiederum bedeutet, dass die Daten lokal auf dem Rechner verbleiben.
Ich würde jetzt an Eurer stelle versuchen die Programmdateien nach C:\Programme\[Programmname] installieren zu lassen. Arbeitet aber hier mit den Variablen %Programfiles% bzw. %Programfiles(x86)%. So stellt Ihr sicher, dass Eure Anwendung auch auf einem 64bit System ins richtige Verzeichnis installiert wird.
Die Konfigurationsdateien legt ihr am Besten unter %Appdata% ab.
Warum der Installer einmal fragt und einmal nicht, weiß ich jetzt auch nicht, aber das hat vermutlich etwas mit signierten Installerdateien zu tun und mit nicht-signierten. Nicht-signierte stammen für das Windowssystem aus einer potentiell unsicheren Quelle und das Windows warnt den Benutzer.
Für einen Test würde ich aber definitiv ein frisch installiertes Windows vorschlagen.
Gruß
Marcus
ich bin leider kein Entwickler, aber ein bisschen Erfahrung ist vorhanden. Ich weiß soviel, dass die Abfrage "Wollen Sie die Datei wirklich ausführen?" beim Start von EXE-Dateien die in C:\Programme liegen nicht erscheint und das quasi per Design von Windows so ist.
Ich weiß auch soviel, dass ein normales Benutzerkonto in Windows sehr beschränkte Schreibrechte hat. Außer für die Ordner und %Appdata%. Ob Du hier nun die Unterordner Local oder Roaming verwendest hängt dann von Dir ab. Das ist auch nur wichtig in Active-Directory-Umgebungen.
Roaming bedeutet, dass bei Verwendung von servergespeicherten Profilen, diese Verzeichnisse beim An- und Abmelden mit dem Server sychronisiert werden und der Benutzer die Daten bei einem Rechnerwechsel quasi mitnimmt.
Local wiederum bedeutet, dass die Daten lokal auf dem Rechner verbleiben.
Ich würde jetzt an Eurer stelle versuchen die Programmdateien nach C:\Programme\[Programmname] installieren zu lassen. Arbeitet aber hier mit den Variablen %Programfiles% bzw. %Programfiles(x86)%. So stellt Ihr sicher, dass Eure Anwendung auch auf einem 64bit System ins richtige Verzeichnis installiert wird.
Die Konfigurationsdateien legt ihr am Besten unter %Appdata% ab.
Warum der Installer einmal fragt und einmal nicht, weiß ich jetzt auch nicht, aber das hat vermutlich etwas mit signierten Installerdateien zu tun und mit nicht-signierten. Nicht-signierte stammen für das Windowssystem aus einer potentiell unsicheren Quelle und das Windows warnt den Benutzer.
Für einen Test würde ich aber definitiv ein frisch installiertes Windows vorschlagen.
Gruß
Marcus
Ich verstehe den Sinn der Frage nicht ganz. Ein Programm installieren tut normalerweise ein Administrator, und der hat natürlich überall Schreibrechte. Im Betrieb braucht ein (vernünftig geschriebenes) Windows-Programm keine Schreibrechte mehr auf diesen Ordner.
Benutzerdaten, die zwischen den Benutzern ausgetauscht werden sollen, könnte man zum Beispiel in einem Unterordner von %ALLUSERSPROFILE% anlegen. Benutzerdaten eines einzelnen Benutzers kann man in der Registry (HKCU) oder im Dateisystem unter %APPDATA% ablegen.
Benutzerdaten, die zwischen den Benutzern ausgetauscht werden sollen, könnte man zum Beispiel in einem Unterordner von %ALLUSERSPROFILE% anlegen. Benutzerdaten eines einzelnen Benutzers kann man in der Registry (HKCU) oder im Dateisystem unter %APPDATA% ablegen.