![]() |
Installation mit beachtung der Benutzerrechte
Hallo,
ich stehe vor dem Problem, dass ich gerne ein setup erstellen möchte, das die Dateien, die ein programm benötigt(die das Programm ändern können muß), wo muß was hin? |
Re: Installation mit beachtung der Benutzerrechte
Scheint ganz schön heiss in der Hölle zu sein @Hellfire :-D
Erkläre das ganze bitte nocheinmal verständlich |
Re: Installation mit beachtung der Benutzerrechte
Hallo,
nimm InnoSetup. Wo was hinsoll solltest du aber selber wissen. ;) Bei einem Setup-Programm kannst du Platzhalter vergeben, z.B. %Programmpath%, die zur Installation aufgelöst und benutzt werden. Die Dateien werden nur dann kopiert, wenn das Versionsdatum grösser/höher) als das einer eventuell existierenden Dll ist. Heiko |
Re: Installation mit beachtung der Benutzerrechte
Warum bist du der Meinung, das "Problem" mit einem Setupprogramm (ob nun Inno Setup oder NSIS) lösen zu können? Die Frage deutet eher auf ein programmiertechnisches Problem hin, denn es geht um Dateien, die das Programm selbst ändern können muss; unabhängig von den Rechten.
Es bringt also nichts, wenn das Setup die Dateien zwar richtig verteilt, das Programm damit aber nicht umgehen kann, sondern die Dateien in bestimmten Pfaden sucht. Und der Umkehrschluss: wird es richtig programmiert, stellt sich die Frage nach dem Wohin erst gar nicht. |
Re: Installation mit beachtung der Benutzerrechte
Hallo,
klar sollte das Programm wissen, wo die Daten liegen ;) Aber auch das Installationsprogramm sollte in der Lage sein, für bestimmte Dateien (Konfiguration/Daten) beim Zusammenbauen der Setup-Datei Ordner festzulegen (z.B. %Appdata%) für nutzerbezogene Daten. Das %Appdata% ist ein Bsp. Zum Ablage-Pfad einfach mal bei MS oder hier "Vista" suchen, da ist das ja gerade gross in Mode ... (die falschen Pfade ;) ) Heiko |
Re: Installation mit beachtung der Benutzerrechte
hi,
schön dass ihr alle antwortet... ich meine eigentlich wegen den Windowsuserrechten, wenn ein admin ne software installiert, die ne datenbank nutzt, und der user keine installationsrechte auf dem rechner hat, geht dass in die hose... |
Re: Installation mit beachtung der Benutzerrechte
Hallo,
das ist dann aber Sache des Entwicklers (du ! ;) ) und eines anständigen Installationshandbuches. Die DB muss an einer Stelle sein, an der "ausreichend" Rechte sind. Bei einer SQL-Datenbank muss übrigens der Nutzer keine Rechte (Dateisystem) haben (die läuft eh als Dienst) Heiko |
Re: Installation mit beachtung der Benutzerrechte
@Hellfire: Auch wenn Du laut Avatar für (Zitat) "first class develpoment" :mrgreen: stehst, sollte Dir klar sein, dass der Installer auch nicht Sachen machen kann, für die der User der ihn startet, keine Rechte hat. (Ausnahmen wie Adminrechte anfordern existieren zwar, dafür braucht man dann aber wieder das Adminpasswort...)
Vielleicht überdenkst Du erst noch einmal was Du uns *genau* sagen willst. Bisher machten Deine Aussagen noch nicht wirklich viel Sinn... |
Re: Installation mit beachtung der Benutzerrechte
Dein Programm kannst du installieren in: C:\Programme\DeinProgrammOrdner
Aber dein Programm darf nicht in diesen Ordner schreiben. Für benutzer spezifische Einstellungen für BenutzerXY kannst du verwenden: C:\Dokumente und Einstellungen\BenutzerXY\Anwendungsdaten\DeinProgr ammOrdner Für allgemeine Programmdateien(DB o.ä.) die für alle Benutzer gelten und Schreibrechte benötigt werden verwende: C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\DeinProgrammOrdner Mit der Funktion:
Delphi-Quellcode:
kannst du die Pfade der speziellen Ordner herausfinden.
...
uses ActiveX, ShlObj; ... function myGetSpecialFolderPath(aCSIDLFolder: Integer):string; var apidl: PItemIDList; aPath: array[0..MAX_PATH] of char; begin if SUCCEEDED(SHGetSpecialFolderLocation(0,aCSIDLFolder,aPidl)) then begin SHGetPathFromIDList(aPidl, aPath); Result:= aPath; end else Result:=''; end; pfad:=myGetSpecialFolderPath(CSIDL_PROGRAMS); //c:\programme\ pfad:=myGetSpecialFolderPath(CSIDL_APPDATA); //C:\Dokumente und Einstellungen\BenutzerXY\Anwendungsdaten\ pfad:=myGetSpecialFolderPath(35); //C:\Dokumente und Einstellungen\All Users\Anwendungsdaten |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz