我可以更改 msi 日志文件的默认目录 (%Temp%) 吗?
我想将日志目录移动到 ProgramData 文件夹。
谢谢
最佳答案
这里的问题是,相关属性MsiLogFileLocation
是只读的,即您没有机会更改日志文件的位置在 Windows Installer 程序包中。
不过还有一些替代方案:
- 如果您使用
/L
-parameter 运行 Windows 安装程序,您可以定义日志文件的位置。 ,例如msiexec.exe/i MyPackage.msi/l*v "C:\path\to\log\logfile.log"
- 确保例如客户将使用正确的参数调用它,您必须围绕 MSI 文件创建 Bootstrap ,例如使用
burn
- 还有一个更简单的解决方案(我自己使用的)是:让 Windows Installer 将整个安装过程记录到需要的地方。由于您始终可以使用
MsiLogFileLocation
-property 访问已创建日志文件的完整路径,因此只需将日志文件作为安装过程的最后一步复制到您想要的任何位置。这里唯一的缺点是:有时最后几行会丢失,因为它是在安装完全完成之前复制的。
因此,如果最后几行并不总是很重要(因为您进一步解析了日志文件等),那么最后的解决方案可能是最简单的。
我在 InstallFinalize
之后安排了它(并使用了条件 NOT (REMOVE="ALL"AND NOT UPGRADINGPRODUCTCODE)
,顺便说一句,否则它会覆盖或复制太多或...(不记得了))。
关于wix - 如何更改 msi 日志文件的默认目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37729829/