私のアプリケーションがアンインストールされると、クライアントに割り当てられたライセンスキーを解放できるようにサーバーに通知する必要があります。これは、Webサービスコールを介して行われます。WixのC#カスタムアクション
これを行うC#カスタムアクションを作成しました。問題は、アンインストーラがdllを見つけることができないと言って終了することです。
MSIのエラーログに次のエラーが含まれています
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
私は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ファイルが出力されています。私はセットアップの一部としてファイルをインストールしようとしましたが、手作業でファイルを貼り付け、ファイルに何もしませんでした。基本的にすべての組み合わせを試しました。
私が紛失しているものがなければならないので、助けてください。
私が使用したのと同じ問題が発生したときは、DLLを見て、本当に正しいシンボルがエクスポートされているかどうかを確認する必要があります。 /L – leiflundgren
回答を投稿していただきありがとうございます。私はちょうどそのような不可解なエラーメッセージを認識せずに同じ(単純な)間違いをしました! – si618