【问题标题】:WiX installer: Log message in CustomAction run by DoActionWiX 安装程序:在由 DoAction 运行的 CustomAction 中记录消息
【发布时间】:2017-09-14 19:05:42
【问题描述】:

我正在编写一个带有一些自定义操作的 WiX 安装程序。 我读到here,如果操作是由于单击按钮(DoAction)而运行的,那么 C# 自定义操作中的 Session.Log 将不起作用。 MSDN 说you can use the Message Method,所以我尝试了 Session.Message:

var foo = new Record(1);
foo.SetString(0, "hello world");
session.Message(InstallMessage.ActionData, foo);

但即使使用 VERBOSE=1,我仍然看不到日志消息。 安装程序是使用 WiX Burn 创建的,因此没有单独的 msi。

有什么帮助吗?

【问题讨论】:

    标签: c# logging wix windows-installer custom-action


    【解决方案1】:

    通常,这是底层 Windows 安装程序的一个已知问题:

    https://msdn.microsoft.com/en-us/library/windows/desktop/aa368322(v=vs.85).aspx

    似乎在 Server 2003 之后 Message 方法可能会起作用,但老实说,我几年前就停止使用脚本自定义操作,所以这不是我的选择。我使用使用 MsiProcessMessage 的 C#/DTF。

    通常的解决方法是利用属性更改被记录这一事实。只需多次设置未使用的属性,您的数据就会出现在日志中。

    【讨论】:

    猜你喜欢
    • 2019-01-27
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多