2010-08-16 123 views
14

我正在尝试使用session.Log(“Hello World!”)从我的C#自定义操作登录;在执行我的MSI时,按如下这并不在我的日志文件显示:Wix C#自定义操作日志记录不工作

MSIEXEC/I myMsi.msi/LVX myLog.log

我的自定义操作工作得很好,我唯一的问题是我不获取我的日志信息。日志显示我的CA正在被调用,而不是来自我的session.Log()调用的信息。

我正在使用Wix 3.5,.Net 4,VS 2010和64位Windows 7.我打电话给我的操作如下。

<Control Id="TestConnection" Type="PushButton" X="21" Y="177" Width="100" Height="17" Text="Test Connection"> 
    <Publish Event="DoAction" Value="TestConnection">1</Publish> 
</Control> 

回答

23

每该文档上DoAction ControlEvent,MsiProcessMessage(后面SESSION.LOG的API)不能从一个ControlEvent资料使用。这可以防止您的消息显示在日志中。如果您需要记录ControlEvent中的某些信息(特别是用于调试),最好的办法就是修改属性的值以包含所需的日志信息。

+1

也session.Message依赖于相同的MsiProcessMessage(而不是一个人会希望的消息) – Jake 2014-04-17 18:15:38

+2

悲伤的时候...... – 2015-02-26 16:30:12