Hallo,
ich habe eine kleine Anwendung in Java geschrieben (unter jdk1.6.0_17). Diese besitzt eine Exe (mit launch4j erstellt) und einen Installer (mit NSIS erstellt).
Alles funktioniert wunderbar. Nur leider muss mein Programm ab und zu in eine Datei schreiben, welches sich in einem Unterordner befindet. Das klappt auch, wenn der User Schreibrechte auf diese Ordner hat.
Unter Vista und Windows7 hat aber der normale User eben keine Schreibrechte auf "C:\Programme\" usw.
Man kann die Software installieren und anschließend manuell das Häkchen setzen "Als Administrator ausführen", dann klappt es auch. So ist das bis jetzt, aber schöner wäre es wenn das automatisch bei der Installation geschieht. Es gibt eben User und User
Meine Fragen sind:
1) Einfachste Methode (wäre mir am liebsten, dann müsste ich nichts mehr am Programm ändern):
Kann man beim Installieren nicht direkt über Registry die Schreibrechte auf diesen Ordner setzen, für die Installation sind Adminrechte eh schon Voraussetzung ?
Wenn ja,welche Schlüssel wären dass und wie schreibe ich die (ausführen würde es der NSIS Installer) ?
Habe noch nie einen Registry Schlüssel geschrieben.
2) Andere Methode:
Programm unter "C
rogramme" oder wo auch immer installieren und die Datei, die beschrieben wird in "C\Dokumente und Einstellungen\User\Anwendungsdaten\MyApp". Dann müsste man auch als normaler Benutzer dort schreiben können.
Nur wie lese ich mit java den Pfad "C\Dokumente und Einstellungen\User\Anwendungsdaten\" aus ?
Mit property "user.home", bekomme ich nur "C\Dokumente und Einstellungen\User". Das Wort "Anwendungsdaten" würde ich nicht manuell dahinter schreiben, da nicht jeder deutsches Windows hat.
Für einen Rat wäre ich dankbar.
ich habe eine kleine Anwendung in Java geschrieben (unter jdk1.6.0_17). Diese besitzt eine Exe (mit launch4j erstellt) und einen Installer (mit NSIS erstellt).
Alles funktioniert wunderbar. Nur leider muss mein Programm ab und zu in eine Datei schreiben, welches sich in einem Unterordner befindet. Das klappt auch, wenn der User Schreibrechte auf diese Ordner hat.
Unter Vista und Windows7 hat aber der normale User eben keine Schreibrechte auf "C:\Programme\" usw.
Man kann die Software installieren und anschließend manuell das Häkchen setzen "Als Administrator ausführen", dann klappt es auch. So ist das bis jetzt, aber schöner wäre es wenn das automatisch bei der Installation geschieht. Es gibt eben User und User

Meine Fragen sind:
1) Einfachste Methode (wäre mir am liebsten, dann müsste ich nichts mehr am Programm ändern):
Kann man beim Installieren nicht direkt über Registry die Schreibrechte auf diesen Ordner setzen, für die Installation sind Adminrechte eh schon Voraussetzung ?
Wenn ja,welche Schlüssel wären dass und wie schreibe ich die (ausführen würde es der NSIS Installer) ?
Habe noch nie einen Registry Schlüssel geschrieben.
2) Andere Methode:
Programm unter "C

Nur wie lese ich mit java den Pfad "C\Dokumente und Einstellungen\User\Anwendungsdaten\" aus ?
Mit property "user.home", bekomme ich nur "C\Dokumente und Einstellungen\User". Das Wort "Anwendungsdaten" würde ich nicht manuell dahinter schreiben, da nicht jeder deutsches Windows hat.
Für einen Rat wäre ich dankbar.