【问题标题】:WiX Burn: Create custom log file name for MsiPackage?WiX Burn:为 MsiPackage 创建自定义日志文件名?
【发布时间】:2017-12-25 08:18:36
【问题描述】:

当 Burn 使用 MsiPackage 运行 MSI 安装程序时,我希望 MSI 的日志文件具有自定义名称,例如 MyProductName.log。我还想附加到现有的日志文件(同名)。

在 InstallShield 的基本 MSI 项目的发布视图中有一个条目“MSI 命令行参数”,您可以在其中输入自定义日志文件名:

/l+* "%TEMP%\MyProductName.log"

“+”会将日志附加到现有文件中。

Burn 可以将公共属性传递给 MSI,但我看不到做我想做的事情的方法。

看起来我需要编写代码(自定义 Burn 引导程序)以在安装(或卸载)MsiPackage 后运行,以将日志文件的内容(在 LogPathVariable 中定义的 Burn 变量中)复制到文件中自定义名称。

【问题讨论】:

    标签: wix installation burn


    【解决方案1】:

    为了做我需要的事情,我编写了一个简单的引导程序,当我解决诸如将安装程序属性传递给引导程序等问题时,它变得更加复杂,如果在 x64 操作系统上安装 x86 安装程序会发出警告(我们鼓励客户使用和 x64安装程序)等。

    【讨论】:

    • 我希望看到反对票的 cmets 解释他们的反对票。我尝试了上面的建议,但没有奏效,我要求提供已经尝试过且有效的示例。我确实使用了 Bundle 中的 Log 元素来设置前缀,这是我能做到的最好的,但每次都会生成新的日志文件(名称中包含日期和时间),并且有一个日志文件用于捆绑包以及 MSI。我会看看支持、营销和产品开发人员是否同意这种变化。
    【解决方案2】:

    您可以使用 MsiPackage 元素的 LogPathVariable 属性来提供自定义日志文件名...

    见:http://wixtoolset.org/documentation/manual/v3/xsd/wix/msipackage.html

    还有:https://support.firegiant.com/hc/en-us/articles/230912207-Pass-Properties-to-MsiPackage-from-Bundle-

    【讨论】:

    • 感谢您的回答。很抱歉我没有早点回复。我最终编写了自己的引导程序来做我需要的事情。我确实尝试过使用 LogPathVariable,但 Burn 会覆盖我为该值设置的内容。传递属性对我的情况没有帮助,因为我想设置无法使用属性设置的日志文件。如果我遗漏了什么,请举例说明可行的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-29
    • 1970-01-01
    相关资源
    最近更新 更多