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;
}
ユーザーが無効なパスを選択すると、上記のカスタム アクションを介してメッセージ ボックスが表示されることを期待しています。ただし、メッセージ ボックスは表示されません。
私は何を間違っていますか?