Wenn meine Anwendung deinstalliert wird, muss der Server benachrichtigt werden, damit er den Lizenzschlüssel freigibt, der dem Client zugewiesen ist. Dies geschieht über einen Web-Service-Aufruf.C# benutzerdefinierte Aktion in Wix
Ich habe eine C# benutzerdefinierte Aktion erstellt, die dies tut. Das Problem ist, dass das Deinstallationsprogramm sagt, dass es keine DLL finden kann.
Das Fehlerprotokoll für die msi enthält folgende Fehler:
Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action ReadLicenseKeyFromFile, entry: ReadLicenseKey, library: C:\Windows\Installer\MSI4F42.tmp
ich die Funktion ReadLicenseKey als benutzerdefinierte Aktion markiert haben. Die benutzerdefinierte Aktion heißt ReadLicenseKeyFromFile.
<Custom Action="ReadLicenseKeyFromFile" After="InstallInitialize">
REMOVE~="ALL" AND NOT UPGRADINGPRODUCTCODE
</Custom>
<CustomAction Id="ReadLicenseKeyFromFile" BinaryKey="UnInstallCA.CA.dll" DllEntry="ReadLicenseKey" Execute="immediate" Return="check" />
<Binary Id="UnInstallCA.CA.dll" SourceFile="$(var.UnInstallCA.TargetDir)UnInstallCA.CA.dll" />
Das benutzerdefinierte Aktionsprojekt gibt die .CA.dll-Datei aus. Ich habe versucht, die Datei als Teil des Setups zu installieren, manuell kopieren Sie die Datei eingefügt, nichts in die Datei getan ... im Grunde alle möglichen Kombinationen ausprobiert.
Da muss etwas sein, das ich vermisse, also bitte helfen.
Wenn ich mir das selbe Problem, das ich verwendet habe, verursacht habe, hängt davon ab, die DLL anzuschauen und zu überprüfen, ob die richtigen Symbole wirklich exportiert werden. /L – leiflundgren
Vielen Dank für Ihre Antwort, ich habe nur den gleichen (einfachen) Fehler gemacht, ohne es zu merken, so eine kryptische Fehlermeldung! – si618