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

Berechtigungen setzen


3 replies to this topic

lingold

lingold
  • Members
  • 42 posts

Posted 15 November 2005 - 11:28

Ich habe ein Installshield 10.5 Basic MSI project und es soll möglich sein, dass ein Enduser mit Adminrechten die Installation durchführt und (auf demselben PC) ein anderer User ohne Adminrechten die Software ausführen kann. Nun scheint es ein Berechtigungsproblem zu geben. Der Normaluser kann auf die DB nicht zugreifen, weil ein Folder Read-Only ist, und dasselbe passiert mit der Registry. (Unsere Software muss in die Registry schreiben können während dem normalen Programmlauf). Nun habe ich gesehen dass man Permissions setzen kann. Es gibt da ein Names-Grid, wo man eine beliebige Anzahl Domain und User angeben kann, z.B. Domain = [%USERDOMAIN], User = [LogonUser] (oder [USERNAME], oder jeder andere user name). Da habe ich offenbar ein Verständnisproblem. [LogonUser] bedeutet gemäss IS-help der Benutzer, der momentan eingeloggt ist, und bei [USERNAME] steht, das sei der Benutzer der die Installation ausführt. Aber das bedeutet in beiden Fällen, dass es derjenige Benutzer ist, der das Setup laufen lässt. Und was ist dann mit den anderen Benutzern? Man sollte doch eine Group (z.B. die Standard group "Benutzer") anstatt einen einzelnen Usernamen angeben können, sonst kann es ja gar nicht funktionieren. Ich habe auch gesehen, dass man auch die zwei speziellen Wörter "Everyone" und "Administrators" angeben kann. Ich sollte aber nicht "Everyone" nehmen müssen, denn wir wollen nicht jedem (z.B. Guest) Zugriff gewähren. Was ist hier das richtige Vorgehen?

Edited by lingold, 15 November 2005 - 11:46.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 15 November 2005 - 11:48

Ja, das sollte auch mit Benutzergruppen funktionieren. Du musst allerdings die lokalisierten Gruppennanmen verwenden.

lingold

lingold
  • Members
  • 42 posts

Posted 15 November 2005 - 13:34

Das gibt mir ein neues Problem. Wenn ich richtig verstehe, geht es darum, trotz anderssprachigem Betriebssystem und trotz Umbenennung einer Gruppe diese Gruppe noch identifizieren zu können. (Das heisst, es sollte so oder so gehen, wenn die Gruppe "Benutzer" noch den Originalnamen hat; ein diesbezüglicher Test ist aber gescheitert).
Gibt es dazu eine einfache Lösung? Ich habe einen Artikel gefunden: MSDN Artikel Q157234 "How to deal with localized and renamed user and group names", aber kann fast nicht glauben, dass man solche Dinge machen muss, da es doch ein häufiges Szenario unter Setup- (bzw. Software-)Entwicklern ist, müsste man zumindest meinen. Ich müsste dann also ein C++ Projekt machen und dieses mittels Custom Action einbinden?
Übrigens: Der Benutzername "Everyone" funktioniert auch nicht. (Wir müssten halt doch den als Notfall wählen, wenn nichts anderes ginge). Dabei steht es doch im Abschnitt "LockPermissions Table" der Windows Installer Dokumentation, dass es gehen muss ab Windows Installer Version 2.0 (den wir verwenden).

Edited by lingold, 15 November 2005 - 13:37.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 15 November 2005 - 18:14

Ja, für lokalisierte Benutzernamen ist eine Custom Action erforderlich. Zum Glück gibts dafürt ein merge Module hier:

Using the LockPermissions Table on Localized Windows Versions
http://www.installsi...en/msi/tips.htm

Allerdings scheint es, dass du noch eine anderes Problem hast. Hast du die MSI-Datei mal validiert? Hast du eine ausführliche Logdatei geschrieben?