如何更改msi日志文件的默认目录?

Ark*_*sky 2 wix

我可以更改 msi 日志文件的默认目录 (%Temp%) 吗?

我想将日志目录移动到 ProgramData 文件夹。

谢谢

taf*_*fit 6

这里的问题是,相关属性MsiLogFileLocation是只读的,即您没有机会更改Windows Installer 程序包中日志文件的位置。
但还有一些替代方案:

  • /L如果使用-parameter运行 Windows Installer,则可以定义日志文件的位置,例如msiexec.exe /i MyPackage.msi /l*v "C:\path\to\log\logfile.log"
  • 为了确保例如客户将使用正确的参数调用它,您必须围绕您的 MSI 文件创建一个引导程序,使用例如burn
  • 还有一个更简单的解决方案(我自己使用过)是:让 Windows Installer 将整个安装过程记录到它需要的任何地方。由于您始终可以使用 -property 访问创建的日志文件的完整路径MsiLogFileLocation,因此只需将日志文件作为安装过程的最后一步复制到您想要的任何位置即可。这里唯一的缺点:有时最后几行会丢失,因为它是在安装完全完成之前复制的。

因此,如果最后几行并不总是重要的(因为您进一步解析日志文件等),那么最后一个解决方案可能是最简单的解决方案。
我在之后安排了它InstallFinalize(并使用了条件NOT (REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE),顺便说一句,否则它会覆盖或复制太多或......(不记得了))。