BEARBEITEN: Ich nehme an, dass es Registrierungseinträge gibt, die Sie versuchen zu entfernen.
Regasm kann eine .reg-Datei ausgeben.
können Sie die Option/regfile Option verwenden eine REG-Datei erzeugen, die die Registrierungseinträge enthält anstatt die Änderungen direkt in der Registrierung. Sie können die Registrierung auf einem Computer aktualisieren, indem Sie die REG-Datei mit dem Registrierungs-Editor-Tool (Regedit.exe) importieren.
Wenn Sie alte Versionen zur Laufzeit deinstallieren möchten, vermutlich könnten Sie:
1) Erstellen Sie eine REG-Datei für die aktuelle Baugruppe (für Referenzzwecke).
2) Schreibt eine Anwendung, die die Registrierung für Ähnliche Schlüssel untersucht (vielleicht mit unterschiedlichen Versionsnummern?)
3) Verwenden regasm passende Baugruppen deregistrieren. Deinstallieren Sie ggf. COM-Entitäten mit regsvr32.
4) Entfernen Sie diese Schlüssel sorgfältig programmgesteuert.
5) Registrieren Sie Ihre neue Baugruppe.
6) gacutil die neu registrierte Baugruppe (falls erforderlich).
Mein COM/Interop ist ein wenig eingerostet, also hinterlassen Sie bitte einen Kommentar, wenn das nicht funktioniert.
Entschuldigung, dass ich nicht klar bin. Ich möchte dies zur Laufzeit tun. –
Dann verwenden Sie ein Skript, um das zu tun (enumerieren Sie die Dateien in diesem Ordner, und führen Sie 'regasm/u' auf diejenigen, die Sie entfernen möchten. –
@Allon - guter Punkt ... es würde immer noch die COM-Referenzen zu behandeln –