gpt4 book ai didi

wix - 从对话框调用CustomAction时WiX安装错误2762

转载 作者:行者123 更新时间:2023-12-03 14:37:38 24 4
gpt4 key购买 nike

我是初学者,开始学习WiX。我想在安装过程中捕获并验证并注册用户详细信息。我创建了一个对话框来捕获用户注册并在用户单击“下一步”后调用自定义操作。

但是在这里,我收到安装程序错误2762。尽管错误描述说“必须在InstallInitialize和InstallFinalize之间计划操作”,但我无法弄清楚如何解决此问题。

这是我的XML脚本:

<Binary Id="mycustom"
SourceFile="..\CustomAction1\bin\Debug\CustomAction1.CA.dll" />

<CustomAction Id="myCustomValidate"
BinaryKey="mycustom"
DllEntry="ValidateCustomAction"
Execute="deferred"
Return="check">
</CustomAction>

<UI>
<UIRef Id="WixUI_Mondo" />
<Dialog Id="UserRegistrationDlg"
Width="370"
Height="270"
Title="[ProductName] [Setup]"
NoMinimize="yes">
..
..
..
<Control Id="Next"
Type="PushButton"
X="236"
Y="243"
Width="56"
Height="17"
Default="yes"
Text="[ButtonText_Next]">
<Publish Event="ValidateProductID" Value="0">1</Publish>
<Publish Event="DoAction" Value="myCustomValidate">1</Publish>
<Publish Event="SpawnDialog" Value="InvalidRegDlg">PIDACCEPTED = "0"</Publish>
<Publish Event="NewDialog" Value="SetupTypeDlg">ProductID AND PIDACCEPTED = "1"</Publish>
</Control>
</Dialog>
</UI>


以下是我使用的自定义操作代码。

[CustomAction]
public static ActionResult ValidateCustomAction(Session session)
{
return ActionResult.Success;
}


如果在“ InstallExecuteSequence”中使用自定义操作,则工作正常。我无法解决问题,我删除了自定义对话框,并使用以下简单调用来调用自定义操作。但是我最终遇到了同样的错误。

<Publish Dialog="LicenseAgreementDlg"
Control="Next"
Event="DoAction"
Value="myCustomValidate">1</Publish>


我确定我在这里做一些愚蠢的事情,但无法弄清楚。解决办法是什么?

最佳答案

在您的CustomAction元素中,将Execute属性设置为immediateDeferred actions只能在InstallInitialize和InstallFinalize操作之间的InstallExecuteSequence中运行。

关于wix - 从对话框调用CustomAction时WiX安装错误2762,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8585918/

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