我正在编写一个带有一些自定义操作的WiX安装程序。
我读了here,如果由于点击按钮(DoAction)而运行,则C#Custom Action中的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。
请帮忙吗?
答案 0 :(得分:1)
通常,这是基础Windows Installer的已知问题:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa368322(v=vs.85).aspx
似乎在Server 2003之后,Message方法可能有效,但老实说我几年前就停止使用脚本自定义操作,所以它不适合我。我使用C#/ DTF,它使用MsiProcessMessage。
通常的解决方法是利用属性更改记录的事实。只需设置一个未使用的属性,就可以在日志中获取数据。