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

Registry-Einträge für Shared-DLLs entfernen


3 replies to this topic

san

san
  • Full Members
  • 3 posts

Posted 13 February 2014 - 11:11

Hi,

 

ich habe das Problem, dass ich anfangs in meinem Basic-MSI-Projekt Shared-Dlls auf "Yes" belassen habe und dadurch Probleme beim Deinstallieren bekommen habe. - Nicht alle Dateien wurden beim Deinstallieren entfernt.

Jetzt habe ich bei allen Dateien Shared auf "No" gestellt.

Mein Problem ist aber, dass bei vielen Rechnern auf denen unserer Software installiert ist noch Registry-Einträge unter

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs

stehen.

 

Wie bekomme ich diese Einträge sicher entfernt?

 

Ein Ansatz wäre: Ein Script, welches das INSTALLDIR kennt, löscht alle Registry-Einträge in diesem Knoten, die mit dem INSTALLDIR beginnen.

Ein bisschen Bedenken habe ich dabei aber. Was ist, wenn der Kunde die Software direkt unter "C:\" (ohne Unterverzeichnis) installiert? Dann würden ALLE SharedDLL-Einträge entfernt werden.

 

Vielen Dank!


Edited by san, 13 February 2014 - 11:12.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 13 February 2014 - 13:50

Die Einträge enthalten doch auch den DLL Namen. Und eigentlich sollten die Einträge auch kein Problem sein, wenn das System vor der Installation sauber war, also die DLLs nicht vorhanden waren.



san

san
  • Full Members
  • 3 posts

Posted 13 February 2014 - 15:04

Hi,

 

danke für die schnelle Antwort.

Die Einträge enhalten auch den DLL-Namen, das stimmt. Die Frage ist jetzt, wie komme ich an die ganzen Dll-Namen der zu installierenden Komponenten via InstallScript oder Properties?

Ich möchte ja irgendwie die ganzen unnötigen SharedDll-Einträge wieder entfernen, damit man das Programm wieder rückstandslos deinstallieren kann.

 

Alle Dateien per Hand in ein Script zu schreiben ist ziemlich aufwendig. Außerdem gibt es bereits Unterschiede zwischen unserer und der Kundenversion. Beim Kunden gibt es noch Dlls, die wir schon gar nicht mehr mit installieren. Diese Dlls sollten beim Deinstallieren natürlich auch verschwinden.



ali

ali
  • Full Members
  • 1,008 posts

Posted 14 February 2014 - 09:21

Hi,

also wenn Dateien in den Verzeichnissen stehen bleiben, könntest du diese ja per Script suchen, und diese Datei-Namen dann entsprechend in der Registry suchen und entfernen!

Aber wenn du diese Komponenten nur einmal installiert hast, dann sollten diese unabhängig davon ob der Zähler jetzt gesetzt ist oder nicht entfernt werden. Da dem wie du sagst nicht so ist, würde ich im Projekt noch mal schauen, ob nicht noch andere Einstellungen geändert werden müssen. Evtl. auch mal testen ob das Problem schon beim Installieren auftritt, oder ob dieses Problem dann auftritt, wenn das Produkt zb. repariert, geändert oder reinstalliert und danach entfert wird.

Hast du mal eine Msi-Validierung durchgeführt?