当我的应用程序被卸载时,需要通知服务器,以便它可以释放分配给客户端的许可证密钥。这是通过 Web 服务调用完成的。
我创建了一个 C# 自定义操作来执行此操作。问题是,卸载程序退出说它找不到 dll。
msi 的错误日志包含以下错误:
错误 1723。此 Windows 安装程序包有问题。无法运行完成此安装所需的 DLL。请联系您的支持人员或软件包供应商。操作 ReadLicenseKeyFromFile,条目:ReadLicenseKey,库:C:\Windows\Installer\MSI4F42.tmp
我将函数 ReadLicenseKey 标记为自定义操作。自定义操作名为 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" />
自定义操作项目正在输出 .CA.dll 文件。我已经尝试将文件安装为设置的一部分,手动复制粘贴的文件,对文件没有做任何事情......基本上尝试了所有可能的组合。
一定有什么我想念的东西,所以请帮忙。