Tôi đang cố gắng tạo hành động tùy chỉnh cho bản cài đặt Wix của mình và thao tác này không hoạt động và tôi không chắc chắn lý do.Không thể chạy Hành động Tuỳ chỉnh Wix trong MSI
Dưới đây là các bit trong Wix tập tin thích hợp:
<Binary Id="INSTALLERHELPER" SourceFile=".\Lib\InstallerHelper.dll" />
<CustomAction Id="HelperAction" BinaryKey="INSTALLERHELPER" DllEntry="CustomAction1" Execute="immediate" />
Dưới đây là các tập tin lớp đầy đủ cho hành động tùy chỉnh của tôi:
using Microsoft.Deployment.WindowsInstaller;
namespace InstallerHelper
{
public class CustomActions
{
[CustomAction]
public static ActionResult CustomAction1(Session session)
{
session.Log("Begin CustomAction1");
return ActionResult.Success;
}
}
}
Hành vi được điều hành bởi một bấm nút trong UI (đối với bây giờ):
<Control Id="Next" Type="PushButton" X="248" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)" >
<Publish Event="DoAction" Value="HelperAction">1</Publish>
</Control>
Khi tôi chạy MSI, tôi nhận được lỗi này trong nhật ký:
MSI (c) (08:5C) [10:08:36:978]: Connected to service for CA interface.
MSI (c) (08:4C) [10:08:37:030]: Note: 1: 1723 2: SQLHelperAction 3: CustomAction1 4: C:\Users\NATHAN~1.TYL\AppData\Local\Temp\MSI684F.tmp
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 SQLHelperAction, entry: CustomAction1, library: C:\Users\NATHAN~1.TYL\AppData\Local\Temp\MSI684F.tmp
MSI (c) (08:4C) [10:08:38:501]: Product: SessionWorks :: Judge Edition -- 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 SQLHelperAction, entry: CustomAction1, library: C:\Users\NATHAN~1.TYL\AppData\Local\Temp\MSI684F.tmp
Action ended 10:08:38: SQLHelperAction. Return value 3.
DEBUG: Error 2896: Executing action SQLHelperAction failed.
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2896. The arguments are: SQLHelperAction, ,
Không có hai mã lỗi hoặc thông điệp nào cho tôi là đủ để cho tôi biết có gì sai. Hoặc có lẽ tôi chỉ không hiểu những gì họ nói là sai.
Lúc đầu, tôi nghĩ rằng có thể là vì tôi đã sử dụng Wix 3.5, vì vậy chỉ để chắc chắn tôi đã thử sử dụng Wix 3.0, nhưng tôi nhận được lỗi tương tự.
Bất kỳ ý tưởng nào về những gì tôi đang làm sai?
"Một DLL cần thiết để cài đặt này hoàn thành không thể chạy." - Điều này chỉ ra rằng trình cài đặt tìm thấy dll nhưng không thể tìm thấy một phương pháp trong đó. Bạn đã đề cập rằng bạn đã thay đổi mã sau khi bạn đăng nhật ký - bạn có thể đăng nhật ký được cập nhật không? Làm cách nào bạn chạy nhật ký - bạn đã làm/l * vx tùy chọn? – demp