Когда мое приложение удалено, сервер должен быть уведомлен, чтобы он мог освободить лицензионный ключ, назначенный клиенту. Это делается с помощью вызова веб-службы.
Я создал пользовательское действие 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. Я попытался установить файл как часть установки, вручную скопировать вставленный файл, ничего не сделал для файла ... в основном перепробовал все возможные комбинации.
Там должно быть что-то, чего мне не хватает, поэтому, пожалуйста, помогите.