【发布时间】:2016-09-20 13:17:42
【问题描述】:
请仔细阅读,因为我将解释我正在尝试做什么。我有一个 wix 安装程序,它调用自定义操作来验证用户输入。如果验证成功,我想调用下一个对话框,如果验证不成功,我想不移动
- 我有一个自定义操作
- 自定义操作验证用户名和密码
- 如果验证成功,自定义操作会将属性 ([CONNECTED] = 1) 值设置为 1
- 如果验证失败,它将属性值设置为空,然后弹出一个消息框,提示值不正确
- 自定义操作 (c#) 在我的对话框中的下一个按钮中执行
- 自定义动作执行正常,失败时弹出
这是问题所在
如果失败,则会弹出一个窗口,我的 wix 安装程序会跳转到结束对话框(完成),只给我退出安装的选项。
或者它有时会给我下一个对话框,即使它失败了。
这是执行我的自定义操作的代码。
<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,为什么它不会保留在当前对话框中。单击确定后,它会进入“完成”对话框。
【问题讨论】:
-
我多次尝试编辑代码。这是我的代码。 `
`1 CONNECTED="1" -
只要它返回一个 actionresult.failure 它就会结束对话框而不是留在这个对话框中
-
有时您会因为对话顺序而失败,这不是自定义操作失败。尝试使用 msiexec /i your_package.msi /L*vx your_package.log 生成日志消息,以查找有关错误的更多详细信息。
标签: c# wix custom-action