我再次检查了这个,这里是一些更新的信息:
可以抑制 MSI GUI 并设置由第三方实现的外部 GUI。此外部 GUI 能够在执行安装时从msiexec.exe接收消息。这主要是为了实现自定义进度条,但似乎您还可以拦截大多数其他错误消息和状态消息:MsiSetExternalUI 函数。
有趣的参数是dwMessageFilter。例如,通过设置此项,您可以仅接收安装期间出现的错误消息 - 或者看起来如此。我想这对于大多数用途来说已经足够了。
INSTALLUI_HANDLER MsiSetExternalUI(
_In_ INSTALLUI_HANDLER puiHandler,
_In_ DWORD dwMessageFilter,
_In_ LPVOID pvContext
);
Run Code Online (Sandbox Code Playgroud)
遗憾的是,我目前没有这方面的示例代码。稍后,当我正确设置系统时,我将对此进行测试。该MsiEnableLog功能是相关的函数调用,将启用日志记录到文件中。更新:这看起来像是一个有效的 SDK 示例。
在命令行界面级别,您还可以通过添加! 范围:
msiexec.exe /I "IsWiX.msi" /QN /L*V! "C:\msilog.log"
Run Code Online (Sandbox Code Playgroud)
这意味着日志文件是连续写入的,因此如果 msiexec.exe 崩溃,日志缓冲区不会丢失。由于 IO 开销,成本是一个明显较慢的安装程序。
归档时间: |
|
查看次数: |
7169 次 |
最近记录: |