Khi ứng dụng của tôi được gỡ cài đặt, máy chủ cần được thông báo để có thể giải phóng khóa cấp phép được gán cho máy khách. Điều này được thực hiện thông qua một cuộc gọi dịch vụ web.Hành động tùy chỉnh C# trong Wix
Tôi đã tạo một hành động tùy chỉnh C# thực hiện việc này. Vấn đề là, các trình gỡ cài đặt là bỏ nói rằng nó couldnt tìm thấy một dll.
Nhật ký lỗi cho msi chứa các lỗi sau:
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
tôi có chức năng ReadLicenseKey đánh dấu là một hành động tùy chỉnh. Hành động tùy chỉnh được đặt tên là 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" />
Dự án hành động tùy chỉnh sẽ xuất ra tệp .CA.dll. Tôi đã thử cài đặt các tập tin như là một phần của thiết lập, sao chép bằng tay dán tập tin, không làm gì để tập tin ... về cơ bản đã thử tất cả các kết hợp có thể.
Phải có thứ gì đó mà tôi bị thiếu, vì vậy vui lòng trợ giúp.
Khi tôi đã gây ra bản thân mình cùng một vấn đề tôi đã sử dụng phụ thuộc vào nhìn vào DLL và kiểm tra các biểu tượng bên phải thực sự xuất khẩu. /L – leiflundgren
Cảm ơn bạn đã đăng câu trả lời của mình, tôi vừa phạm sai lầm (đơn giản) mà không nhận ra nó, một thông báo lỗi khó hiểu như vậy! – si618