1

我正在使用 Wix 创建一个基于 MSI 的安装程序。

我的自定义操作声明是这样的......

<Binary Id="CustomActions" SourceFile="DLLs\CustomActions.CA.dll" />

<CustomAction Id="CheckPath" Return="check" Execute="immediate" BinaryKey="CustomActions" DllEntry="CheckPath" />

在 WixUI_InstallDir Dialog UI 下,

<UI Id="WixUI_InstallDir">
    .....
    <Publish Dialog="SelectDirDlg" Control="Next" Event="DoAction" Value="CheckPath" Order="2">1</Publish>
    .....
</UI>

在 C# 文件中,

[CustomAction]
public static ActionResult CheckPath(Session session)
{
      Record record2 = new Record();
      record.FormatString = "The path that you have selected is invalid!";
      session.Message(InstallMessage.Error | (InstallMessage)MessageButtons.OK, record);
      return ActionResult.Success;
}

当用户选择无效路径时,我期望通过上述自定义操作出现消息框。但是没有显示消息框。

我究竟做错了什么?

4

1 回答 1

7

通过 DoAction 控件事件触发的自定义操作无法显示消息框。请参阅http://msdn.microsoft.com/en-us/library/windows/desktop/aa368322%28v=vs.85%29.aspx

于 2013-09-24T16:25:52.463 回答