[HowTo] Deinstallations-Anleitung für Fax4Box (Windows 10-64)

jesko

Mitglied
Mitglied seit
11 Jun 2005
Beiträge
274
Punkte für Reaktionen
0
Punkte
16
Die Deinstallation von Fax4Box war von Anfang an ein Problem.
Hier folgt eine stark vereinfachte Methode zur Deinstallation unter Windows 10-64 ohne Zuhilfenahme eines Deinstallationsprogramms.
Schritte:
1) Neustart von Windows 10 im abgesicherten Modus (Taste F4 in den Starteinstellungen).
2) Alle .reg-Dateien aus dem angehängten Paket mit der Registrierung zusammenführen.
3) Die Verzeichnisse "C:\Program Files (x86)\FRITZ!" und "C:\ProgramData\FRITZ!fax für FRITZ!Box" löschen.
4) Neustart
Danach ist eine Neuinstallation von Fax4Box im Administrator-Modus erfolgreich, wenn C:\Windows\System32\capi2032.dll und C:\Windows\SysWow64\capi2032.dll vorhanden sind.
P.S. In der Datei "F-voll.reg" sind alle Teilschluessel zusammengefasst, mit deren Hilfe die Deregistrierung in einem Rutsch erfolgen kann. C:\ProgramData-Pfad korrigiert.
 

Anhänge

  • Fax4Box-Schluessel.zip
    8.4 KB · Aufrufe: 58
  • F-voll.zip
    1.5 KB · Aufrufe: 49
  • F_ohne_shared_DLLs.zip
    1.4 KB · Aufrufe: 45
Zuletzt bearbeitet:
"C:\ProgramData" zu löschen, dürfte weit weit über das Ziel hinausschießen.
F16 und F18 machen leider gar nichts.
Mit dem löschen von DLL-Einträgen unter system32 von [HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\SharedDlls] in F01a wäre ich eher vorsichtiger.

Und wieso nicht in einer Reg-Datei?
 
"C:\ProgramData" zu löschen, dürfte weit weit über das Ziel hinausschießen.
Ich gehe sogar noch weiter: Da können ggf. wichtige Daten anderer Anwendungen liegen. Das sollte man auf keinen Fall löschen.
 
"C:\ProgramData" zu löschen, dürfte weit weit über das Ziel hinausschießen.
Der richtige Pfad "C:\ProgramData\FRITZ!fax für FRITZ!Box" kann problemlos gelöscht werden - getestet.
Und wieso nicht in einer Reg-Datei?
Damit sind die Teilschlüssel leichter der Kritik zugänglich. In einer Datei zusammengefasste Deregistrierungsdatei habe ich ergänzt.

"C:\ProgramData" zu löschen, dürfte weit weit über das Ziel hinausschießen.
Fehler korrigiert!

"C:\ProgramData" zu löschen, dürfte weit weit über das Ziel hinausschießen.
F16 und F18 machen leider gar nichts.
Die Funktion der Gesamtheit der angegebenen Deregistrierungsschlüssel habe ich getestet. Es liegt an jedem einzelnen mit evtl. funktionierenden Untermengen selbst zu experimentieren.
Mit dem löschen von DLL-Einträgen unter system32 von [HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\SharedDlls] in F01a wäre ich eher vorsichtiger.

Und wieso nicht in einer Reg-Datei?
 
Zuletzt bearbeitet:
Mit dem löschen von DLL-Einträgen unter system32 von [HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\SharedDlls] in F01a wäre ich eher vorsichtiger.

Ich habe diesen Hinweis in der neuen Deregistrierungsdatei "F_ohne_shared_DLLs.reg" berücksichtigt.
Sie enthält den folgenden Einträg nicht mehr:

[HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\SharedDlls]
"C:\\Windows\\system32\\MFC71.dll"=-
"C:\\Windows\\system32\\msvcp71.dll"=-
"C:\\Windows\\system32\\msvcr71.dll"=-
"C:\\Windows\\system32\\Psapi.dll"=-
"C:\\Windows\\Help\\I2errDeu.chm"=-
"C:\\Program Files (x86)\\FRITZ!\\i2errDeu.dll"=-
"C:\\WINDOWS\\system32\\mfc70.dll"=-
"C:\\WINDOWS\\system32\\mfc70u.dll"=-
"C:\\WINDOWS\\system32\\MFC71DEU.DLL"=-
"C:\\WINDOWS\\system32\\msvci70.dll"=-
"C:\\WINDOWS\\system32\\msvcp70.dll"=-
"C:\\WINDOWS\\system32\\msvcr70.dll"=-

Sie funktioniert korrekt, unabhängig davon, ob andere Programe diese DLLs auch nutzen, und ob Fax4Box evtl. gar nicht mehr neu installiert wird.
 
Mit "vorsichtiger" hatte ich micht nicht konkret genug ausgedrückt:
Wenn der Wert auf Null steht, kann der Eintrag weg und ebenso, wenn die DLL nicht mehr an dem Ort existiert, denn eine auf genau diese DLL angewiesene andere Software dürfte längst nicht mehr funktionieren. Man könnte das scripten, wie auch die gesamte De-Reg-.Datei, aber das würde dann zu einem Monster werden.
 
Zuletzt bearbeitet:
Olafs Beitrag weist auf ein Dilemma hin, das ich hier erläutern möchte.

Nehmen wir meine "W10-64-Entwicklungsmaschine", auf der ich die Deregistrierung getestet habe, dann sieht der zu bearbeitende - oder nicht zu bearbeitende - Registriereintrag der relevanten shared DLLs meiner Fax4Box-Installation so aus:

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\SharedDlls]
"C:\\Windows\\system32\\MFC71.dll"=dword:00000002 (00000003)
"C:\\Windows\\system32\\msvcp71.dll"=dword:00000002 (00000003)
"C:\\Windows\\system32\\msvcr71.dll"=dword:00000002 (00000003)
"C:\\Windows\\system32\\Psapi.dll"=dword:00000002 (00000003)
"C:\\Windows\\Help\\I2errDeu.chm"=dword:00000002 (-)
"C:\\Windows\\system32\\mfc70.dll"=dword:00000002 (-)
"C:\\Program Files (x86)\\FRITZ!\\i2errDeu.dll"=dword:00000001 ( -)
"C:\\Windows\\system32\\mfc70u.dll"=dword:00000002 (-)
"C:\\Windows\\system32\\MFC71DEU.DLL"=dword:00000002 (00000002)
"C:\\Windows\\system32\\msvci70.dll"=dword:00000002 (00000002)
"C:\\Windows\\system32\\msvcp70.dll"=dword:00000002 (00000002)
"C:\\Windows\\system32\\msvcr70.dll"=dword:00000002 (00000002)
Die Werte in Klammern sind die Werte, falls vorhanden, aus einer funktionierenden Parallelinstallation von Fax4Box unter W7-64.
Falls eine Zeile mit DLL-Namen und möglichen Werten: 00000001, 00000002, ... existiert (fehlende Zeilen in der Parallelinstallation sind mit (-) gekennzeichnet), so bedeutet dies für ein Deinstallationsprogramm, vgl.:

Die Funktion der Referenzzähler von Shared DLL-Einträgen in der Registrierung
Die Referenzzählung für ältere freigegebene DLLs ist ein Mechanismus, mit dem das Windows-Betriebssystem sicherstellt, dass gemeinsam genutzte Dateien referenziert werden, sodass die Datei nicht gelöscht wird, wenn ein Produkt versucht, eine Datei zu deinstallieren, die von einem anderen Produkt verwendet wird.

Die Referenzzähler befinden sich im Registrierungsschlüssel:

Jede Datei hat einen individuellen Eintrag mit einem ganzzahligen REG_DWORD-Wert, der der Zähler selbst ist. Bei jeder Deinstallation werden die einzelnen Zähler für diese Dateien dekrementiert und die Datei bleibt auf der Arbeitsstation intakt, bis der Zähler Null erreicht, woraufhin die Datei endgültig gelöscht wird.
Die Referenzzähler sind also die Werte hinter dem Gleichheitszeichen und haben die zitierte Funktion, nämlich Herunterzählen des Referenzzählers bei einer Deinstallation durch ein Deinstallationsprogramm und so ein unbeabsichtigtes Löschen einer DLL zu verhindern. Dass das nicht in jedem Falle funktioniert, leuchtet sofort ein.

Eine Bruteforce-Deinstallation für Fax4Box ohne die Benutzung eines Deinstallationsprogramms, wie hier beschrieben, läßt aber bei keiner der beiden vorgeschlagenen Deregistrierungsdateien die Referenzzähler der DLL-Einträge intakt.

Ich schlage deshalb als Verbesserung vor, der Deregistrierung mithilfe von "F_ohne_shared_DLLs.reg" im abgesicherten Modus die Deinstallation von Fax4Box in der Systemsteuerung im Normalmodus vorzuschalten, sodass die Referenzzähler der DLLs (evtl. korrekt) heruntergezählt bzw. die betreffenden DLLs gelöscht werden.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.