# Installer der nur für Benutzer installiert



## Felix (12. Sep 2010)

Hi,

ich suche eine Lösung, um mein Programm nur für den Nutzer zu installieren und zwar in ein Verzeichnis, auf das der Nutzer unbeschränkt zugreifen kann (Updatemechanismus).
Bis jetzt habe ich mich mehr schlecht als recht mit NSIS durchgeschlagen. Ich komm aber nicht darauf, wie ich das mit NSIS umsetzten kann.
Gibt es eigl Standard-Verzeichnisse für solche Fälle? (Linux: ~/.programmfiles/, oder? Unter Windows kann ich ja nicht das normale C:\Programm Files verwenden...)

Gruß


----------



## gman (12. Sep 2010)

Hi,

bin mir nicht ganz sicher ob es das ist was du suchst, aber versuch es doch mal mit Java WebStart. Soweit
ich weiß speichert Java die Programmdateien dann im Benutzerverzeichnis.


----------



## Felix (12. Sep 2010)

Ähm, nein. Ich suche tatsächlich einen "richtigen" Installer. Der zB auch einen Eintrag im Start-Menu erzeugt, aber eben in ein Verzeichnis installiert, welches von dem Programm ohne root-Rechte bearbeitet werden kann.


----------



## Wildcard (12. Sep 2010)

NSIS ist zwar nur für Windows, aber ansonsten verstehe ich nicht was dein Problem dabei ist. Konfigurationen legst du in user.home ab und wohin das Programm installiert wird lässt du den Benutzer auswählen.


----------



## gman (12. Sep 2010)

WebStart kann auch Desktop-Verknüpfungen anlegen. (Nur der Vollständigkeit halber, ich hab schon gemerkt
das die Idee nicht gut ankommt ;-) )


----------



## Felix (12. Sep 2010)

Hi,
ja das mit Webstart kenn ich. Die Sache ist aber die, dass es mit einem einfachen Programmupdate nicht getan ist, sondern, dass ich wenn ich update vorher ein Tool durchlaufen lassen muss, welches die nötigen Änderungen in der Datenbank usw. vornimmt, damit die neue Version einwandfrei läuft und alles schön automatisch ohne Kenntnis des Users geschieht. So was funktioniert mit Webstart aber nicht, oder?
Und zu NSIS: Ich will ja gerade nicht, dass der User den Pfad festlegt, weil er vermutlich nach C:\Program Files\$Programname installiert. Wenn ich jetzt aber meinen Updatemechanismus des Programms laufen lasse, dann passiert einfach nichts, weil das Programm keine admin-Rechte besitzt. Deswegen ist mein Plan ja, dass es in einem Ordner liegt, in dem der ausführende User und somit das Programm Dateien ersetzten kann.


----------



## xjCoder (13. Sep 2010)

Hi,

wenn ich das richtig verstanden habe willst Du das Programm in $HOME bzw. %USERPROFILE% ablegen.

Diesen Pfad könntest Du doch in NSIS über $PROFILE (NSIS Scripting Reference) nutzen, 
damit sollte doch auch gewährleistet sein, daß der Benutzer alle Rechte im Verzeichnis besitzt.


----------



## Felix (13. Sep 2010)

Jawohl, danke, das war der Hinweis, den ich suchte 
Ich habe jetzt $PROFILE\progdir als Standardverzeichnis angegeben und die Seite in der man das Verzeichnis auswählen kann herausgenommen. Jetzt habe ich genau was ich wollte.


----------

