AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke setup (adminrecht) und Usernetzlaufwerke
Thema durchsuchen
Ansicht
Themen-Optionen

setup (adminrecht) und Usernetzlaufwerke

Ein Thema von erich.wanker · begonnen am 21. Apr 2011 · letzter Beitrag vom 24. Apr 2011
Antwort Antwort
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
460 Beiträge
 
Delphi XE4 Professional
 
#1

setup (adminrecht) und Usernetzlaufwerke

  Alt 21. Apr 2011, 16:11
Hallo leute,

ich hab ein InnoSetup (required admin), daß Datein kopiert und
abschließend ein Programm (auch mit adminrecht) startet...

In diesem Programm suche ich nun die Netzlaufwerke des akt. Users ..

Leider find ich immer nur die Laufwerke vom Admin (was irgendwie eh logisch ist) .. aber brauchen würde ich die Laufwerke des gerade angemeldeten und aktiven users (das Programm soll aber Admin-rechte beibehalten...)

Folgendes funktioniert nicht:

Delphi-Quellcode:
function GetNetworkDriveMappings(
  sl : TStrings ) : integer;
var
  i : integer;
  sNetPath : string;
  dwMaxNetPathLen : DWord;
begin
  sl.Clear;
  dwMaxNetPathLen := MAX_PATH;
  SetLength( sNetPath,
    dwMaxNetPathLen );
  for i := 0 to 25 do
  begin
    if( NO_ERROR =
      Windows.WNetGetConnection(
        PChar(
          '' + Chr( 65 + i ) + ':' ),
        PChar( sNetPath ),
        dwMaxNetPathLen ) )then
    begin
      sl.Add( Chr( 65 + i ) + ': ' +
              sNetPath );
    end;
  end;
  Result := sl.Count;
end;
Hab jemand einen Ansatz?

vielen Dank
erich
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

AW: setup (adminrecht) und Usernetzlaufwerke

  Alt 21. Apr 2011, 17:20
Ein Setup (mit Admin-Rechten) soll ja ein Programm installieren und dazu bestimmte Dateien auf den Rechner kopieren und gewisse Einstellungen in der Registry (HKEY_LOCAL_MACHINE) vornehmen.
Aber hier endet dann die Aufgabe des Setups.

Wenn im Programm irgendwie ein Netzwerklaufwerk oder eine Netzwerkfreigabe eingerichtet werden muss, dann ist das Aufgabe des Programms selbst.
Notfalls wird beim 1. Programmstart pro User ein Assistent-Formular geöffnet.
Der Benutzer wird zwangweise durch diesen Assistent geführt, bis die Konfiguration fertig ist.

Es geht also darum, genau zwischen den Aufgaben des Setups und der Anwendung zu unterscheiden.
Beispiel Internet Explorer:
Wenn man nach der Installation des IE9, den neuen IE zum ersten Mal startet,
dann muss man auch erst mal durch einen Assistenten und einige Fragen beantworten.
Diese Konfiguration wird aber Userabhängig gespeichert.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
460 Beiträge
 
Delphi XE4 Professional
 
#3

AW: setup (adminrecht) und Usernetzlaufwerke

  Alt 21. Apr 2011, 17:44
Hallo shmia,

so ähnlich läuft es eh ab:

Setup kopiert Daten und startet abschließend ein Programm (der Assistenten..)

Aber das Inno-Setup startet "den Assistenten" mit Adminrechten - und der Assistent zeigt darum nur die Netzlaufwerke vom Admin an...

Der "Assistent" fragt den User, auf welchem Netzlaufwerk die Serverinstallation zu finden ist...

Das INNO Setup muß ich mit Adminrechten ausführen (wegen ein paar Registry Sachen ect.)
Den Assistenen muß ich mit Adminrechten ausführen, da dieser die Endkonfiguration in die Registry schreibt (und noch so einiges).


ich könnte natürlich den assistenten in "Run once" reinlegenen und einen Neustart erzwingen, will ich aber, wenn Möglich - vermeiden.
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: setup (adminrecht) und Usernetzlaufwerke

  Alt 21. Apr 2011, 18:59
Du hast es nicht verstanden. Nicht das Setup startet den Assistenten, sondern das installierte Programm. Denn was machst du wenn ein anderer Benutzer dein Programm benutzen will, der andere Netzlaufwerke hat?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#5

AW: setup (adminrecht) und Usernetzlaufwerke

  Alt 22. Apr 2011, 10:43
...
Aber das Inno-Setup startet "den Assistenten" mit Adminrechten - und der Assistent zeigt darum nur die Netzlaufwerke vom Admin an...

Der "Assistent" fragt den User, auf welchem Netzlaufwerk die Serverinstallation zu finden ist...
...
Hallo,

das geht aus Prinzip nicht. Das würde ja heissen, dass du beim ersten Setup gleich alle denkbaren User sofort einrichten müsstest, das ist nicht nur völlig unüblich, sondern schlicht unmöglich. Wenn Jahre nach der Installation eine neuer User das Programm startet, muss als erstes die userspezifische Einrichtung durchlaufen werden.

Netzlaufwerke sind sowieso keine Frage der Installation, sondern sollten unter "Anpassen" oder so geführt werden, es gibt hunderte Gründe, warum sich ein Netzwerklaufwerk ändern kann.

Gruss Reinhard
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: setup (adminrecht) und Usernetzlaufwerke

  Alt 22. Apr 2011, 14:23
Moin Erich,

Den Assistenen muß ich mit Adminrechten ausführen, da dieser die Endkonfiguration in die Registry schreibt (und noch so einiges).
Das sehe ich anders.
Die userspezifische Konfiguration sollte ohne Adminrechte auskommen, denn der Teil sollte auch weiterhin vom Anwender änderbar sein.

Zitat von Luckie:
Denn was machst du wenn ein anderer Benutzer dein Programm benutzen will, der andere Netzlaufwerke hat?
Das Netzwerklaufwerke bei unterschiedlichen Anwendern unterschiedlich sind sollte es nach Möglichkeit nicht geben.
Um dem Problem aber komplett aus dem Wege zu gehen, verwendet man dann kein Netzwerklaufwerk mit Buchstaben, sondern einen UNC-Pfad. Wenn man dann Aliase für Server verwendet stört auch der Wechsel eines Servers nicht.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: setup (adminrecht) und Usernetzlaufwerke

  Alt 23. Apr 2011, 15:32
Zitat von Luckie:
Denn was machst du wenn ein anderer Benutzer dein Programm benutzen will, der andere Netzlaufwerke hat?
Das Netzwerklaufwerke bei unterschiedlichen Anwendern unterschiedlich sind sollte es nach Möglichkeit nicht geben.
Warum sollte es das nicht geben?

Ich habe schon bei vielen Kunden gesehen, dass z.B. für jeden Benutzer z.B. ein Laufwerk "U:\" (= User ) eingerichtet war das jeweils auf ein Verzeichnis auf dem Server zeigte in dem der betreffende Benutzer seine Daten speichern kann.

Somit gibt es für jeden Benutzer unterschiedliche Netzwerklaufwerkzuordnungen. Was soll daran unüblich sein? (man muss daran denken, dass viele Benutzer nicht in der Lage sind mit UNC-Pfaden umzugehen: "Wir verwenden seit 20 Jahren Laufwerksbuchstaben. Das war schon immer so...."
Ralf Kaiser
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: setup (adminrecht) und Usernetzlaufwerke

  Alt 24. Apr 2011, 14:30
Moin Ralf,

Ich habe schon bei vielen Kunden gesehen, dass z.B. für jeden Benutzer z.B. ein Laufwerk "U:\" (= User ) eingerichtet war das jeweils auf ein Verzeichnis auf dem Server zeigte in dem der betreffende Benutzer seine Daten speichern kann.
Ich denke mal, dass Du mich da missverstanden hast.
Mit dem "sollte es nicht geben" war gemeint, dass es keine unterschiedlichen Laufwerksbuchstaben für gleiche UNC-Pfade geben sollte.

Das bei Userlaufwerken mit dem gleichen Buchstaben auf unterschiedliche Verzeichnisse referenziert wird ist klar, sollte aber für Installationen keinen Unterschied machen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz