1

Wix を使用して MSI ベースのインストーラーを作成しています。

私のカスタムアクション宣言は次のようになります...

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

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

WixUI_InstallDir ダイアログ 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 に答える