繁体   English   中英

Wix Bootstrapper MSI-Package 日志记录,如何?

[英]Wix Bootstrapper MSI-Package logging, how?

我有一个安装MSI 包的引导程序。

我怎样才能至少实现 msi-package-installation 被记录(详细日志记录)? 我在哪里可以设置日志文件路径? 因为我将无法记录我猜的所有内容?

不,我想要一个cmd 解决方案,我需要在我的设置中实现它

找到了 LogPathVariable,但真的不知道它是如何工作的?

<MsiPackage SourceFile="$(var.Setup.TargetPath)" LogPathVariable="" />

谷歌搜索了很多次,没有找到解决这个问题的方法,有什么帮助吗?

默认情况下(未设置 LogPathVariable)将在 C:\\Users\\username\\AppData\\Local\\Temp 中创建日志,MSI 日志将是详细的,还会有引导程序的日志。

对于自定义目的地,您可以创建一个变量并设置它

<Variable Name="MyLogDestination" Type="string" Value=path to where you want log created />

您可以将其中一个刻录变量与部分路径结合使用。 我认为

<Variable Name="MyLogDestination" Type="string" Value="[ProgramFiles6432Folder]\YourProduct\" /> 

虽然我没有尝试过,但可能会奏效。

然后,您将变量名放在 LogPathVariable 中

<MsiPackage SourceFile="$(var.Setup.TargetPath)" LogPathVariable="MyLogDestination" />

我就是这样做的:

在 Bundle 下添加 Log 元素:

 <Log PathVariable="LOGPATH_PROP" Disable="yes" Prefix='[WixBundleOriginalSource]' Extension=".txt" />

然后在 MsiPackage 元素中将 LogPathVariable 设置为“LOGPATH_PROP”。 关键是在 Log 元素中将 Disable 属性设置为 yes。

捆绑安装和软件包日志都将创建到%TEMP% (C:\\Users\\username\\AppData\\Local\\Temp) 中。

日志文件的命名方案是:

BundleName_yyyyMMddHHmmss.log

日期和时间是安装开始时的日期和时间。 对于每个链接的 MSI 包,Burn 会自动启用详细日志记录。 链式包日志文件命名方案是:

BundleName_yyyyMMddHHmmss_#_PackageId.log

其中 # 表示应用程序包的顺序。 如果安装失败并且在回滚过程中删除了相同的包,则同一个包可能会以 #s 出现多次。 (例如 BundleName_yyyyMMddHHmmss_002_FailedPackage_rollback.log)

为了获得包安装程序位置路径,您可以使用BootstrapperApplication.Engine.StringVariables[WixBundleLog] ,为了获得包日志文件,您可以使用BootstrapperApplication.Engine.StringVariables[WixBundleLog_packageId]

如果要更改默认位置 ( %TEMP% ),可以使用 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-

这将为您创建空的日志文件夹...

<Directory Id="LOGSDIR" Name="logs">
    <Component Guid="GUID" Id="ID" KeyPath="no" NeverOverwrite="no" Permanent="no" Location="local" Permanent="no">
        <CreateFolder>
            <util:PermissionEx CreateChild="yes" CreateFile="yes" Delete="yes" DeleteChild="yes" Read="yes" ReadAttributes="yes" ReadExtendedAttributes="yes" ReadPermission="yes" Traverse="yes" GenericRead="yes" GenericWrite="yes" User="Everyone" />
        </CreateFolder>
    </Component>
</Directory>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM