WiX/MSI: 显示错误相关的 FatalError 对话框
WiX/MSI: show error-dependent FatalError dialog
在执行安装(服务器端)时,我寻找一种方法将结果传回客户端。特别是 FatalError 对话框应该根据失败的原因显示文本。由于无法通过属性传递结果,因此我将其存储在文件中。
此外,我用自己的对话框替换了 FatalError 对话框,以根据错误类型显示错误文本。
我的问题是,我需要在显示对话框之前调用自定义操作,从文件中读取结果。
可能的方法是:
1) 我为 OnExit="error" 事件注册了自定义操作。
问题:之后我需要显示对话框。也许自定义操作 (C++) 可以在从文件加载结果后显示对话框。但是怎么办?
2) 我自己的 FatalError 对话框注册了 OnExit="error" 事件(像往常一样)。
问题:如何在显示对话框之前调用自定义操作?
3) 我自己的 FatalError 对话框注册了 OnExit="error" 事件(像往常一样)。它只显示一个常见的错误文本。当用户单击“下一步”时,将执行自定义操作并显示另一个特定的错误对话框。
问题:用毫无意义的对话来困扰用户。
4) 还有其他想法吗?
提前致谢。
通过1)终于解决了问题。自定义操作可以使用 MsiDoAction 显示对话框。示例:
MsiDoActionW(
hInstall, //MSIHANDLE hInstall,
L"MyFatalErrorDlg" //LPCWSTR szAction
);
在执行安装(服务器端)时,我寻找一种方法将结果传回客户端。特别是 FatalError 对话框应该根据失败的原因显示文本。由于无法通过属性传递结果,因此我将其存储在文件中。
此外,我用自己的对话框替换了 FatalError 对话框,以根据错误类型显示错误文本。
我的问题是,我需要在显示对话框之前调用自定义操作,从文件中读取结果。
可能的方法是:
1) 我为 OnExit="error" 事件注册了自定义操作。 问题:之后我需要显示对话框。也许自定义操作 (C++) 可以在从文件加载结果后显示对话框。但是怎么办?
2) 我自己的 FatalError 对话框注册了 OnExit="error" 事件(像往常一样)。 问题:如何在显示对话框之前调用自定义操作?
3) 我自己的 FatalError 对话框注册了 OnExit="error" 事件(像往常一样)。它只显示一个常见的错误文本。当用户单击“下一步”时,将执行自定义操作并显示另一个特定的错误对话框。 问题:用毫无意义的对话来困扰用户。
4) 还有其他想法吗?
提前致谢。
通过1)终于解决了问题。自定义操作可以使用 MsiDoAction 显示对话框。示例:
MsiDoActionW(
hInstall, //MSIHANDLE hInstall,
L"MyFatalErrorDlg" //LPCWSTR szAction
);