Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Multi-User und komische Setups? (https://www.delphipraxis.net/207122-multi-user-und-komische-setups.html)

himitsu 25. Feb 2021 18:20


Multi-User und komische Setups?
 
Moin Moin,

kann es sein, dass viele Entwickler nur alleine an einem Rechner arbeiten und dafür einen uneingeschränkten UserAccount benutzen?


Oder wie kann es sein, dass viele Setups nicht nutzbar sind, sobald man auf einem Rechner/TerminalServer mit mehreren Leuten arbeitet,
oder für die Installation nicht bloß den UAC wegklickt, sondern mit einem anderen Name+Passwort die Installation starten muß.

Parnassus (Bookmarks, Navigator, ParallelDebugger)
GExperts
Jedi
...

z.B. Bookmarks/Navigator, die werden über GetIt nur beim "User" installiert.
also GetIt lädt nach
HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\21.0\CatalogRepository\Elements\
C:\Users\%USERNAME%\Documents\Embarcadero\Studio\21.0\CatalogRepository\

und nicht nach (so weit so gut)
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Embarcadero\BDS\21.0\CatalogRepository\Elements
C:\Users\Public\Documents\Embarcadero\Studio\21.0\CatalogRepository\

Aber installiert/kopiert wird die DLL dann nach
C:\Program Files (x86)\Common Files\ParnassusShared
wofür man natürlich höhere Rechte braucht (Admin),
anstatt direkt die DLL im GetIt-Verzeichnis in der IDE zu registrieren.

Wenn man aber zur Installation im UAC nun z.B. den "Administrator" nimmt, dann ist dort HKEY_CURRENT_USER das vom Admin und nicht "meines".
Und auch C:\Users\%USERNAME%\ ist dann das vom Administrator.
(Außer man hat einen AdminAccount ohne eigenes Profil, nur für die Rechtevergabe)

Womit dann sowohl der GetIt-CatalogRepository-Eintrag im "falsch" Account steht (Registry und Verzeichnis), also GetIt im Delphi sagt "nicht installiert",
sondern auch der Eintrag/Registrierung im Delphi nicht bei "mir" drin steht und somit die Komponente auch nicht geladen wird. (außer ich kopiere mir die Registry selber)
HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\21.0\Experts

Selbst wenn man das Problem mit der "falschen" Registry/Verzeichnis gelöst hat,
macht es Spaß, sobald auf dem Rechner ein weiterer Nutzer es bei sich "installieren" will.
  • einmal knallt das Setup, weil die globalen Dateien schon existieren und womöglich sogar grade im anderen Delphi geladen sin
  • und wenn ein Anderer das dann bei sich "deinstalliert", zerballert er allen Anderen die Installation, weil er die globalen Dateien dabei löscht.



Außerdem wäre es toll, wenn man vorher im GetIt die wichtigsten Infos sehen würde (dafür mach ich noch ein paar Einträge bei Emba)
  • ist das Package für User oder AllUser (nur Ich oder Alle)
    • und warum kann man da nicht selbst wählen (bei Packages, welche nur im GetIt-Verzeichnis bleiben)
  • braucht man Admin-Anmeldung
  • ist es ein externes Setup, was nur runtergeladen und gestartet wird, oder ist wirklich alles "nur" im GetItRepo-Verzeichnis
  • wird anschließend die IDE neu gestartet (und warum hat dieser Dialog keinen "Nein"-Knopf)
  • wird beim Installieren ein Projekt/Projektgruppe geladen und kompiliert (also alles was ich auf hab wird dabei geschlossen oder meine noch nicht gepseicherte Projektgruppbe dabei zerballert/gelöscht)
  • ...

  • und warum hat GetIt keine "ist installiert"-Funktion, also z.B. ein Befehl/Script im Repo, welches "wirklich" die Installation prüft, anstatt nur doof auf das Verzeichnis zu gucken
  • schön, dass ich nun endlich weiß, wie man den GetItCmd benutzt, bzw. dass es "fremde" Tools dafür gibt, dass die benutzung von GetIt einem nicht den letzten Nerv raub
    https://github.com/corneliusdavid/AutoGetIt/
    • Eigentlich könnte der Uninstaller das MigrationsToll direkt starten, bzw. da wo "Registry löschen oder behalten" steht noch den Knopf zur Migration/Backup.
    • Und der Installer, bzw. das MigrationsTool, könnten sich auch selber merken was im GetIt installiert war und später das "alles" wieder zur Installation anbieten (Versionsnummer ignorieren)



Bei DevExpress, da geht es so halbwegs (wenn man beim Installieren die Haken richtig setzt und die Packages auch wirklich nur aus dem Installationsordner lädt
und nicht etwa die BPLs, mit welchen man "wirklich" arbeitet, in ein eigenes GitRepo kopiert und darüber auf allen Arbeitsplätzen verteilt, wo dann der fast geheime Eintrag in HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Embarcadero\BDS\21.0\Known Packages echt "Spaß" macht, wenn man das nicht löscht)


OK, selbst das Setup der DDevExtensions hat solche Probleme .... auch gestandene Kerle treten mal in Fettnäpfchen. :angle2:

Der schöne Günther 25. Feb 2021 18:31

AW: Multi-User und komische Setups?
 
Hat mich auch immer genervt, aber seitdem ich Delphi nur noch im VMs installiere (ein Account mit allen Rechten) war das ein weiteres Problem das damit verschwand 😎

Uwe Raabe 25. Feb 2021 21:43

AW: Multi-User und komische Setups?
 
Bei der MMX Setup wird die Installation für den aktuellen User empfohlen.

Das Problem bei einer Common-Installation als Admin ist, dass eine spätere Deinstallation (die ja wieder als Admin läuft) nicht die Einträge aus den diversen User-Zweigen löschen kann (zumindest nicht ohne erheblichem Aufwand). In Folge wird der nächste Start der IDE die DLL nicht mehr finden und der User muss das selbst in der Registry wieder in Ordnung bringen.

Per-User Installation ist einfach sauberer.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:01 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