gpt4 book ai didi

wix - 无法在MSI中运行Wix自定义操作

转载 作者:行者123 更新时间:2023-12-04 04:56:10 24 4
gpt4 key购买 nike

我正在尝试为我的Wix安装创建自定义操作,但是它不起作用,我不确定为什么。

这是适当的Wix文件中的位:

<Binary Id="INSTALLERHELPER" SourceFile=".\Lib\InstallerHelper.dll" />
<CustomAction Id="HelperAction" BinaryKey="INSTALLERHELPER" DllEntry="CustomAction1" Execute="immediate" />

这是我的自定义操作的完整类文件:
using Microsoft.Deployment.WindowsInstaller;

namespace InstallerHelper
{
public class CustomActions
{
[CustomAction]
public static ActionResult CustomAction1(Session session)
{
session.Log("Begin CustomAction1");

return ActionResult.Success;
}
}
}

该操作通过在UI中按下按钮来运行(现在):
  <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>

当我运行MSI时,我在日志中收到此错误:
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, ,

这两个错误代码或它给我的消息都不足以告诉我什么地方出了问题。也许我只是不明白他们在说什么是错的。

起初我以为可能是因为我使用的是Wix 3.5,所以为了确保我尝试使用Wix 3.0,但我遇到了同样的错误。

关于我在做什么错的任何想法吗?

最佳答案

对于您的自定义 Action 程序集,您需要一个配置文件并将useLegacyV2RuntimeActivationPolicy属性设置为true。确保将配置文件命名为CustomAction.config。如果您不这样做,它将无法正常工作。我假设您正在.NET 4 Framework上运行。

有关更多信息,请参见here。另外,正如AntonyW已经指出的那样,在这种情况下fuslogvw.exe很有帮助。

关于wix - 无法在MSI中运行Wix自定义操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2593669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com