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.