COM-DLLs sollten aufgrund von Zuverlässigkeitsproblemen während der Installation nicht selbst registriert werden. Stattdessen sollten COM-Registrierungsinformationen extrahiert und in der MSI-Datenbank kompiliert werden. Dieser Vorgang wird durch das Tool heat.exe von WiX erleichtert.
Um COM-Registrierungsdaten aus Ihrer DLL zu extrahieren, führen Sie heat.exe mit dem folgenden Befehl aus:
heat.exe file YourFileName.ocx -o YourFileName.wxs
Dadurch wird eine WiX-Quelldatei mit den erforderlichen Registrierungsdaten generiert.
Die von heat.exe extrahierten Registrierungsdaten können in Ihre Haupt-WiX-Quelldatei eingefügt werden. Anweisungen dazu finden Sie im unten verlinkten Artikel:
Fehlende Abhängigkeiten können die erfolgreiche COM-Registrierung verhindern. Verwenden Sie Dependency Walker oder das neuere Dependencies-Tool, um fehlende Abhängigkeiten zu identifizieren. Stellen Sie sicher, dass diese Abhängigkeiten während der Installation verfügbar sind, entweder lokal oder im Pfad.
Heat.exe verarbeitet derzeit 64-Bit-COM-Binärdateien nicht korrekt. Wenn Sie mit einer 64-Bit-Komponente arbeiten, müssen Sie möglicherweise das WiX-Erweiterungspaket (nicht kostenlos) verwenden oder versuchen, sich wie hier beschrieben selbst zu registrieren.
COM-Registrierung sollte sein erfolgt über WiX und nicht über benutzerdefinierte Aktionen oder Batchdateien. Indem Sie heat.exe verwenden, um COM-Registrierungsdaten zu extrahieren und in Ihre WiX-Quelle zu integrieren, können Sie während der Installation eine zuverlässige und effiziente COM-Registrierung sicherstellen.
Das obige ist der detaillierte Inhalt vonWie kann ich COM-DLLs in MSI-Installationsprogrammen registrieren, ohne benutzerdefinierte Aktionen oder Batchdateien zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!