| Autor |
Beitrag |
Sinspin
      
Beiträge: 1336
Erhaltene Danke: 119
Win 10
RIO, CE, Lazarus
|
Verfasst: Do 06.03.14 12:14
Hey, wir versuchen gerade ein Programm das unter einem Nutzer installiert wurde anderen Nutzern auf dem Rechner zugänglich zu machen. Das Internet ist voll von Fragen dieser Art aber frei von brauchbaren Antworten.
Die Installation erfolgt ohne Abfrage von Installationsrechten ins ProgramData (ich vermute mal des aktuellen Nutzers) keine Ahung ob es ein echtes CommonProgramData gibt.
Hintergrund ist, das sich das Programm, egal welcher Nutzer angemeldet ist, selber aktualisieren können muss so das immer alle Nutzer nur mit der neusten Version arbeiten können. Die Aktualisierung muss gehen ohne das Installationsrechte erforderlich sind.
Wäre toll wenn mir jemand weitere Denkanstöße geben könnte.
_________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
|
|
jaenicke
      
Beiträge: 19339
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 06.03.14 13:15
Das ist so nicht vorgesehen, da so die elementarsten Schutzmechanismen nicht greifen würden.
Wenn man das will, muss man das ProgramData Verzeichnis für alle Benutzer nutzen, für das betreffende Verzeichnis dann aber auch mit Adminrechten Lese- und Schreibrechte für alle Benutzer vergeben. Denn standardmäßig kann da zwar jeder reinschreiben, andere diese Dateien aber nicht überschreiben.
Ohne Adminrechte zumindest einmal zu nutzen geht das ganze nicht sauber, wobei das ganze Vorgehen eigentlich schon nicht sauber ist.
Der saubere Weg wäre ein Dienst, der die Software aktuell hält und die Installation ganz normal unter Program Files.
Die Alternative wäre, dass das Programm sich zuerst die aktuelle Version zieht und nur dieser Loader für alle User installiert ist. Das geht auch ohne Adminrechte im gemeinsamen ProgramData Ordner.
|
|
Tilo
      
Beiträge: 1098
Erhaltene Danke: 13
Win7 geg. WInXP oder sogar Win98
Rad2007
|
Verfasst: Do 06.03.14 13:24
Hallo Sinspin,
Ich denke dein Vorhaben läuft dem allgemeinen Konzept der Benutzersteuerung entgegen.
Der Grund warum man ohne erweiterte Rechte in die Programmverzeichnisse des aktuellen Nutzers schreiben kann, ist weil es ein Verzeichnis vom Nutzer alleine ist und dieser deshalb Rechte dafür hat.
Die sauberste Lösung ist hier: Deninstallation der lokalen Programminstallation und erneut mit erweiterten Rechten installieren.
Eine unsaubere Lösung ist: Das betroffende Programmverzeichnis (und alle dazugehörigen Speicherorte die das Programmverwendet) über die Rechteverwaltung für die anderen Nutzer freigeben (Sprich Lese und ggf. Schreibrechte auf das Verzeichnis zuweisen).
Ob das funktioniert in Win8.1 funktioniert kann ich Dir nicht sagen.
Wenn es unbedingt sein muss, dass das Programm bei jedem Benutzerlogin Schreibzugriff auf das Programmverzeichniss hat, kann man natürlich auch das reguläre Programmverzeichniss freigeben. Aber bitte NUR den Ordner des betreffenden Programm.
|
|
Sinspin 
      
Beiträge: 1336
Erhaltene Danke: 119
Win 10
RIO, CE, Lazarus
|
Verfasst: Do 06.03.14 21:23
Danke für eure Antworten!
Wir haben jetzt fast zwei Tage damit verbracht einen Weg zu finden das Programm nur einmal zu installieren und es für alle Nutzer sichtbar zu bekommen. Wir haben herausgefunden das der MSI dafür sogar Optionen bereitstellt. Werden von unserem Installer aber aktuell nicht unterstützt.
jaenicke hat folgendes geschrieben : | | Die Alternative wäre, dass das Programm sich zuerst die aktuelle Version zieht und nur dieser Loader für alle User installiert ist. Das geht auch ohne Adminrechte im gemeinsamen ProgramData Ordner. |
So hatten wir uns das eigentlich gedacht. Leider ist wiedermal der Installer (InstallAware) unwillig das richtige ProgramData Verzeichnis zu verwenden. Mit den neuen Denkanstößen werden wir uns das nächste Woche nochmal ansehen.
_________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
|
|
jaenicke
      
Beiträge: 19339
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 06.03.14 23:23
Sinspin hat folgendes geschrieben : | | Leider ist wiedermal der Installer (InstallAware) unwillig das richtige ProgramData Verzeichnis zu verwenden. |
Scheint aber zu gehen:
www.installaware.com...c.php?p=24562#p24562
|
|
Sinspin 
      
Beiträge: 1336
Erhaltene Danke: 119
Win 10
RIO, CE, Lazarus
|
Verfasst: Fr 07.03.14 10:23
Der Beitrag ist zwar für Win 7 aber wir werden es mal probieren.
_________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
|
|
jaenicke
      
Beiträge: 19339
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 07.03.14 10:34
Da wird ja bestimmt mit den Special Folders / Known Folders gearbeitet, und die API funktioniert unter Windows 8/8.1 wie unter 7.
|
|
|