Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WiX安装程序:在DoAction运行的CustomAction中记录消息_C#_Logging_Wix_Windows Installer_Custom Action - Fatal编程技术网

C# WiX安装程序:在DoAction运行的CustomAction中记录消息

C# WiX安装程序:在DoAction运行的CustomAction中记录消息,c#,logging,wix,windows-installer,custom-action,C#,Logging,Wix,Windows Installer,Custom Action,我正在编写一个带有一些自定义操作的WiX安装程序。 我读到C#自定义操作中的Session.Log,如果该操作是由于单击按钮(DoAction)而运行的,则该操作不起作用。 MSDN是这么说的,所以我尝试了会话。消息: var foo = new Record(1); foo.SetString(0, "hello world"); session.Message(InstallMessage.ActionData, foo); 但即使使用VERBOSE=1,我仍然看不到日志消息。 安装程序是

我正在编写一个带有一些自定义操作的WiX安装程序。 我读到C#自定义操作中的
Session.Log
,如果该操作是由于单击按钮(DoAction)而运行的,则该操作不起作用。 MSDN是这么说的,所以我尝试了会话。消息:

var foo = new Record(1);
foo.SetString(0, "hello world");
session.Message(InstallMessage.ActionData, foo);
但即使使用VERBOSE=1,我仍然看不到日志消息。 安装程序是用wixburn创建的,因此没有单独的msi


请提供帮助?

通常,这是底层Windows Installer的一个已知问题:

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


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

通常,这是底层Windows Installer的一个已知问题:

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


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

这就是我引用的链接。请您扩展一下“我使用C#/DTF,它使用MsiProcessMessage。”好吗?DTF是WiX的一项功能,允许您编写托管自定义操作。请参阅:会话类的源代码在这里:您可以在第210行看到它们使用MsiProcessMessage()RemotableNativeMethods,可以在这里找到:尽管有MSDN文档,我认为所有路径都指向MsiProcessMessage。这是我引用的链接。请您扩展一下“我使用C#/DTF,它使用MsiProcessMessage。”好吗?DTF是WiX的一项功能,允许您编写托管自定义操作。请参阅:会话类的源代码在这里:您可以在第210行看到它们使用MsiProcessMessage()RemotableNativeMethods,可以在这里找到:尽管有MSDN文档,我认为所有路径都指向MsiProcessMessage。