Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Installation für einen/alle Benutzer unter VISTA


6 replies to this topic

Ralf

Ralf
  • Full Members
  • 63 posts

Posted 08 September 2008 - 12:02

Hallo,
ich hatte das Topic bereits unter herstellerunabhängige MSI-Themen reingestellt, aber bisher keine Antwort erhalten. Ein MSI-Forum hatte ich gewählt, weil ich evt. wg. VISTA bei den InstallShield-Werkzeugen auf MSI umsteigen will. Da ich aber derzeit noch IS6.12 benutze, schreibe ich jetzt hier.

Ich möchte während der Installation eines Programms verschiedene Systempfade sowohl für den aktuellen Benutzer als auch für "All Users" ermitteln und in der Registry unter HKCU bzw. HKLM ablegen. In den Verzeichnissen soll die Applikation später ihre Parameterdateien verwalten. Während der Installation soll außerdem ausgewählt werden können, ob die Applikation nur für den aktuellen Benutzer oder für alle Benutzer installiert werden soll. Aller Benutzer sollen später ohne Admin-Rechte arbeiten.

Kann eine solche Installation unter einem normalen Benutzeraccount gestartet werden, der keine Admin-Rechte hat? Es werden doch sicher erhöhte Rechte benötigt. Aber wenn ich als Admin angemeldet bin, liefern mir die Systemfunktionen doch die Benutzerpfade des Admin, und auch HKCU ist doch das des Admin-Accounts, oder? Wie komme ich an die Verzeichnisse des betreffenden Standardusers?

Im voraus vielen Dank für Eure Tipps.

Viele Grüße
Ralf

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 09 September 2008 - 16:08

Wenn du in HKLM schreiben willst brauchst du Admin-Rechte, stimmt. Wenn der Admin installiert, dann ist HKCU sein User-Bereicht, stimmt auch. Aber was genau willst du? Wenn USer A installiert ist HKCU eben der von User A, und USer B hat diese Einträge nicht. Wenn du HKCU-Einträge für alle User machen willst, schau mal unter http://www.msifaq.de/a/1011.htm . Alternatiov geht auch ein Login-Skript.

Ralf

Ralf
  • Full Members
  • 63 posts

Posted 22 September 2008 - 11:40

Hallo,
nur noch mal zum Verständnis für mich: Ein Benutzer "User A" ist ohne Adminrechte angemeldet und möchte eine Installation ausführen, zu der Adminrechte benötigt werden. Er muss sich dann ja nicht abmelden, sondern kann das Setup direkt "als Administrator" ausführen, indem er die Anmeldedaten (Benutzername und Passwort) des Admins benutzt. Aber dann ist für die Dauer der Installation der HKCU-Bereich doch trotzdem der des Admins, oder? Und für die Dauer der Installation kann auch nicht auf die benutzerspezifischen Verzeichnisse des "Users A" (z.B. unter "Dokumente und Einstellungen") zugegriffen werden sondern nur auf die des Admins, oder?

Nachdem ich die Beschreibung in der oben genannten MSI-FAQ gelesen habe, hört sich das für mich ziemlich kompliziert an. Irgendwie passt das nicht zum User-Konzept, finde ich. Wahrscheinlich wäre es einfacher, wenn bei der Installation in der Registry nur die Einstellung hinterlegt wird, ob alle Benutzer das Programm mit gemeinsamen Parametern benutzen sollen oder jeder Benutzer mit separaten Parametern. Und erst beim ersten Programmstart jedes Benutzers werden die jeweiligen Verzeichnisse ermittelt bzw. festgelegt. Was meint Ihr?

Viele Grüße
Ralf

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 25 September 2008 - 15:49

Ja stimmt. Das Setup wird dan im Benutzerkonto des Administrators ausgeführt.

Es wird atasächlich empfohlen, benutzerspezifische Einstellungen vom Programm machen zu lassen und nicht vom Setup. Eine Möglichkeit wäre zum Beispiel, die Default-Enstellungen beim Setup in HKLM abzulegen. Beim Programmstart schaut die Applikation dann, ob Einstellungen in HKCU stehen. Wenn nicht verwendet es entweder direkt die Defaultwerte aus HKLM (speichert also nur in HKCU wenn der Benutzer die Einstellungen ändert) oder kopiert die HKLM-Daten einmalig nach HKCU.
Bei der Deinstallation bleiben die Daten in HKCU natürlich stehen, aber das ist im Prinzip okay, es handelt sich ja um Benutzerdaten.

Ralf

Ralf
  • Full Members
  • 63 posts

Posted 25 September 2008 - 18:22

Hallo Stefan,
danke für das Feedback. smile.gif

Viele Grüße
Ralf

Edited by Ralf, 25 September 2008 - 18:23.


Ralf

Ralf
  • Full Members
  • 63 posts

Posted 01 October 2008 - 17:01

Hallo,
die Empfehlung, die benutzerdefinierten Einstellungen nicht vom Setup machen zu lassen sondern vom Programm, hat zur Folge, dass eine Installation quasi erst durch den ersten Programmstart "abgeschlossen" wird. Erst dann werden ja die benutzerdefinierten Einstellungen gemacht.

Bietet das InstallShield vielleicht auch die Möglichkeit, alle Einstellungen bereits während des Installationsvorganges zu machen? => Also z.B. so: Start der Setup.exe als normaler Benutzer (ohne Admin-Rechte). Während der Laufzeit dann in den Administrator-Modus wechseln (Geht das? => Account wechseln?) und dann die Installationsfunktionen ausführen, die Admin-Rechte brauchen (z.B. unter Vista: Schreib-Zugriff auf Programme-Verzeichnis). Danach wieder in den normalen User-Modus zurück wechseln, in dem z.B. auf den betreffenden HKCU-Bereich des Users zugegriffen werden kann. Und dann die benutzerdefinierten Einstellungen vornehmen. Und erst dann das Setup beenden.

Geht so was?


Viele Grüße
Ralf

Edited by Ralf, 01 October 2008 - 17:03.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 04 October 2008 - 15:31

QUOTE
die Empfehlung, die benutzerdefinierten Einstellungen nicht vom Setup machen zu lassen sondern vom Programm, hat zur Folge, dass eine Installation quasi erst durch den ersten Programmstart "abgeschlossen" wird. Erst dann werden ja die benutzerdefinierten Einstellungen gemacht.
Das ist richtig, und auch so beabsichtigt. Insbesondere wenn meherere Benutzer mit dem Programm arbeiten sollen ist das erforderlich.

QUOTE
Bietet das InstallShield vielleicht auch die Möglichkeit, alle Einstellungen bereits während des Installationsvorganges zu machen? => Also z.B. so: Start der Setup.exe als normaler Benutzer (ohne Admin-Rechte). Während der Laufzeit dann in den Administrator-Modus wechseln (Geht das? => Account wechseln?) und dann die Installationsfunktionen ausführen, die Admin-Rechte brauchen (z.B. unter Vista: Schreib-Zugriff auf Programme-Verzeichnis). Danach wieder in den normalen User-Modus zurück wechseln, in dem z.B. auf den betreffenden HKCU-Bereich des Users zugegriffen werden kann. Und dann die benutzerdefinierten Einstellungen vornehmen. Und erst dann das Setup beenden.
Dafür hat InstallShield keine eingebaute Lösung. Du kännest aber eine EXE schreiben, die erst das Setup aufruft und anschließend die Konfiguration macht. Das Programm darf natürlich nicht die Benutzerkontensteuerung triggern, d.h.sollte ein entsprechendes Manifest enthalten.