首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C# WiX CustomAction Session.Log.我在哪里能找到原木?

C# WiX CustomAction Session.Log.我在哪里能找到原木?
EN

Stack Overflow用户
提问于 2014-06-04 05:19:05
回答 5查看 12.5K关注 0票数 17

我是WiX安装程序的新手。

我正在使用Session.Log记录这个过程的一些有用数据。

代码语言:javascript
复制
session.Log("Begin register the Vdds interface.");

但我不知道哪里能找到原木。是否有默认路径记录?或者我应该指定我需要在安装程序.wxs文件中提供的路径吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-06-04 06:30:45

您需要使用msiexec.exe从命令行运行安装程序,然后包括L命令行选项,以指定要保存日志的位置。

例如:

代码语言:javascript
复制
msiexec /i app.msi /l*v thelog.txt

有关msiexec参数的更多信息,请参见命令行选项

票数 23
EN

Stack Overflow用户

发布于 2017-03-20 15:34:59

Session.Log将您的日志添加到标准的MSI日志中。如果在执行过程中提供了/l*v <LogPath>开关,则可以在LogPath中找到自定义操作的日志。

如果您在安装程序中使用值为vx的属性MsiLogging,它将在用户临时位置生成标准MSI日志(运行时输入% temp % ),即使没有/L*v开关,LogName看起来也像MSI*.LOG一样。可以使用LogPath开关重写/L*v

你必须知道的事情:

  1. 当由任何UI操作执行时,session.Log不进行日志记录。
  2. 有时,由于内存泄漏问题,安装程序无法生成MSI*日志。在这个场景中,您可以重新启动explorer.exe进程。
票数 4
EN

Stack Overflow用户

发布于 2017-03-15 09:14:27

  1. session.Log的工作方式类似于信息级别的session.Message: 公共空日志(字符串msg) { if (msg == null)抛出新的ArgumentNullException("msg");使用( record.FormatString =新记录(0)){record.FormatString= msg;int num = (int) this.Message(InstallMessage.Info,this.Message);}
  2. 您可以使用脏技巧:在引用模块中定义一个属性,并将其在CA中的值设置为要记录的消息。WIX似乎记录了属性的更改:

在CA:

会话“WIX_MAGIX_TRICK_PROPERTY”=“要日志的消息”;

其结果应与此类似:

MSI (c) (78!34) 09:48:13:770:属性更改:修改WIX_MAGIX_TRICK_PROPERTY属性。它的当前值是'0‘。它的新价值是:“消息到日志”。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24029571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档