自定义动作返回代码-处理
本文关键字:代码 -处理 返回 自定义 | 更新日期: 2023-09-27 18:07:48
请仔细阅读,因为我将解释我正在尝试做什么。我有一个wix安装程序,它调用自定义操作来验证用户输入。如果验证成功,我想调用next对话框,如果验证不成功,我想不移动
- 我有一个自定义动作
- 自定义操作验证用户名和密码
- 如果验证成功,自定义操作将属性([CONNECTED] = 1)值设置为1
- 如果验证失败,它将属性值设置为空,然后弹出一个消息框,说值不正确
- 自定义动作(c#)在下一步按钮的对话框中执行
- 自定义动作执行良好,当出现故障时弹出问题是这样的如果出现失败,则会弹出一个窗口,我的wix安装程序会跳转到结束对话框(FINISH),只给我退出安装的选项。或者它有时会给我下一个对话,即使它失败了。下面是执行自定义操作的代码。
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]"> <Publish Event="DoAction" Value="MyCustomAction">1</Publish> <Publish Event="NewDialog" Value="CustomizeDlg">CONNECTED= "1"</Publish> </Control>
我的问题是,如果有一个错误意味着它没有返回1,为什么它不留在当前对话框中。点击确定后,它会进入完成对话框
自定义操作的返回值用于Windows安装程序,而不是您。返回ActionResult。失败告诉Windows,您的CA失败非常严重,需要完成安装。如果您的CA工作正常并且对安装过程不是致命的,那么返回一个成功结果。使用属性值表示用户结果。
根据我的经验,处理这种类型的对话框更常用的方法是使用从一个对话框到下一个对话框的正常顺序。唯一的区别是,在启动对话框时禁用Next按钮,如果用户验证成功,则启用该按钮。