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

标签 wix

我可以更改 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/

相关文章:

wix - 通过 WIX 添加 MimeMap 失败

.net - Wix !(bind.AssemblyFullName.fileId) 仅适用于 GACed 程序集?

mysql - 带有数据库 MYSQL 的 WiX

c# - 如何模拟 Microsoft.Deployment.WindowsInstaller session

wix - 如何使用 WiX 创建 .NET 事件日志源

使用 Wix 扩展时,在 Server 2003 上安装 Wix 失败

wix - 如何相对于安装路径设置 WiX RegistryValue

wix - MSI卸载: How to force uninstall UI sequence

维克斯。相同版本不同产品代码如何进行Major Upgrade?

wix - 自定义操作修改 Program Files 文件夹中的文件