捆绑 WiX4 未安装

问题描述 投票:0回答:1

我有一个 WiX3.x 捆绑项目,刚刚使用 HeatWave 将其升级到 WiX4(最新发布的候选版本)。创建的捆绑包未安装(100% 可重现)。日志文件包含这些行:

Error 0x80070057: Failed to initialize data in bootstrapper application.
Shutting down, exit code: 0x57

转换后的 bundle.wxs 如下(将包名改为通用字符串,但应该没什么区别):

<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
     xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">

    <Bundle Copyright="Copyright now"
            DisableModify="no"
            IconSourceFile="MyIcon.ico"
            Manufacturer="Me"
            Name="My Product"
            Version="1.0"
            UpgradeCode="{BF71BD9F-86A4-4209-B173-A174B04EA383}">
        <BootstrapperApplication>
            <bal:WixStandardBootstrapperApplication LicenseUrl=""
                                                    LocalizationFile="HyperlinkTheme.wxl"
                                                    ShowVersion="yes"
                                                    SuppressOptionsUI="yes"
                                                    SuppressRepair="yes"
                                                    Theme="hyperlinkLicense" />
        </BootstrapperApplication>

        <Chain>
            <MsiPackage bal:DisplayInternalUICondition="WixBundleExecutePackageAction = 2"
                        SourceFile="Product.msi"
                        Visible="no" />
            <MsiPackage bal:DisplayInternalUICondition="WixBundleExecutePackageAction != 2"
                        InstallCondition="NOT VersionNT64"
                        SourceFile="Additional32.msi"
                        Visible="no" />
            <MsiPackage bal:DisplayInternalUICondition="WixBundleExecutePackageAction != 2"
                        InstallCondition="VersionNT64"
                        SourceFile="Additional64.msi"
                        Visible="no" />
        </Chain>
    </Bundle>
</Wix>

作为参考,我还包含了原始的 WiX3 bundle.wxs(它创建了一个工作包):

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">

    <Bundle Copyright="Copyright now"
            DisableModify="no"
            IconSourceFile="MyIcon.ico"
            Manufacturer="Me"
            Name="My Product"
            Version="1.0"
            UpgradeCode="{BF71BD9F-86A4-4209-B173-A174B04EA383}">
        <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
            <bal:WixStandardBootstrapperApplication LicenseUrl=""
                                                    LocalizationFile="HyperlinkTheme.wxl"
                                                    ShowFilesInUse="yes"
                                                    ShowVersion="yes"
                                                    SuppressOptionsUI="yes"
                                                    SuppressRepair="yes" />
        </BootstrapperApplicationRef>

        <Chain>
            <MsiPackage DisplayInternalUI="yes"
                        SourceFile="Product.msi"
                        Visible="no" />
            <MsiPackage DisplayInternalUI="no"
                        InstallCondition="NOT VersionNT64"
                        SourceFile="Additional32.msi"
                        Visible="no" />
            <MsiPackage DisplayInternalUI="no"
                        InstallCondition="VersionNT64"
                        SourceFile="Additional64.msi"
                        Visible="no" />
        </Chain>
    </Bundle>
</Wix>

这里可能是什么问题?

顺便说一句:我确实注意到 WiX4 中不再有

ShowFilesInUse
属性。有替代品吗?

编辑:添加了安装尝试的完整日志文件 设置.cleanroom.log

[11A0:1A78][2023-04-05T07:43:46]i001: Burn x86 v4.0.0-rc.4+dea44a7d50f04dff2087218b3be0dbf1bf6d5c0b, Windows v10.0 x64 (Build 19045: Service Pack 0), path: Z:\Installer\Setup.exe
[11A0:1A78][2023-04-05T07:43:46]i009: Command Line: ''
[11A0:1A78][2023-04-05T07:43:46]i000: Setting string variable 'WixBundleOriginalSource' to value 'Z:\Installer\Setup.exe'
[11A0:1A78][2023-04-05T07:43:46]i000: Setting string variable 'WixBundleOriginalSourceFolder' to value 'Z:\Installer\'
[11A0:1A78][2023-04-05T07:43:46]i000: Setting string variable 'WixBundleLog' to value 'C:\Users\admin\AppData\Local\Temp\Setup_20230405074346.cleanroom.log'
[11A0:1A78][2023-04-05T07:43:46]i017: Exit code: 0x57

Setup.log

[0ACC:2334][2023-04-05T07:43:46]i001: Burn x86 v4.0.0-rc.4+dea44a7d50f04dff2087218b3be0dbf1bf6d5c0b, Windows v10.0 x64 (Build 19045: Service Pack 0), path: C:\Users\admin\AppData\Local\Temp\{57701476-1020-430A-B1BF-80290E64EC4F}\.cr\Setup.exe
[0ACC:2334][2023-04-05T07:43:46]i009: Command Line: '-burn.clean.room=Z:\Installer\Setup.exe -burn.filehandle.attached=680 -burn.filehandle.self=712'
[0ACC:2334][2023-04-05T07:43:46]i000: Setting string variable 'WixBundleOriginalSource' to value 'Z:\Installer\Setup.exe'
[0ACC:2334][2023-04-05T07:43:46]i000: Setting string variable 'WixBundleOriginalSourceFolder' to value 'Z:\Installer\'
[0ACC:2334][2023-04-05T07:43:46]i000: Setting string variable 'WixBundleLog' to value 'C:\Users\admin\AppData\Local\Temp\Setup_20230405074346.log'
[0ACC:2334][2023-04-05T07:43:46]i000: Setting string variable 'WixBundleInProgressName' to value ''
[0ACC:2334][2023-04-05T07:43:46]i000: Setting string variable 'WixBundleName' to value 'My Product'
[0ACC:2334][2023-04-05T07:43:46]i000: Setting string variable 'WixBundleManufacturer' to value 'Me'
[0ACC:1224][2023-04-05T07:43:46]i000: Setting numeric variable 'WixStdBALanguageId' to value 1043
[0ACC:1224][2023-04-05T07:43:46]e000: Error 0x80070057: Failed to initialize data in bootstrapper application.
[0ACC:2334][2023-04-05T07:43:46]i500: Shutting down, exit code: 0x57
[0ACC:2334][2023-04-05T07:43:46]i502: Cleanup begin.
[0ACC:2334][2023-04-05T07:43:46]i504: Cleanup check skipped since this per-machine bundle would require elevation.
[0ACC:2334][2023-04-05T07:43:46]i599: Cleanup complete, result: 0x0
[0ACC:2334][2023-04-05T07:43:46]i410: Variable: WixBundleCommandLineAction = 6
[0ACC:2334][2023-04-05T07:43:46]i410: Variable: WixBundleElevated = 0
[0ACC:2334][2023-04-05T07:43:46]i410: Variable: WixBundleInProgressName = 
[0ACC:2334][2023-04-05T07:43:46]i410: Variable: WixBundleLog = C:\Users\admin\AppData\Local\Temp\Setup_20230405074346.log
[0ACC:2334][2023-04-05T07:43:46]i410: Variable: WixBundleManufacturer = Me
[0ACC:2334][2023-04-05T07:43:46]i410: Variable: WixBundleName = My Product
[0ACC:2334][2023-04-05T07:43:46]i410: Variable: WixBundleOriginalSource = Z:\Installer\Setup.exe
[0ACC:2334][2023-04-05T07:43:46]i410: Variable: WixBundleOriginalSourceFolder = Z:\Installer\
[0ACC:2334][2023-04-05T07:43:46]i410: Variable: WixBundleProviderKey = {069B7631-1E6B-4D0B-978E-967DA3F88ACA}
[0ACC:2334][2023-04-05T07:43:46]i410: Variable: WixBundleSourceProcessFolder = Z:\Installer\
[0ACC:2334][2023-04-05T07:43:46]i410: Variable: WixBundleSourceProcessPath = Z:\Installer\Setup.exe
[0ACC:2334][2023-04-05T07:43:46]i410: Variable: WixBundleTag = 
[0ACC:2334][2023-04-05T07:43:46]i410: Variable: WixBundleUILevel = 4
[0ACC:2334][2023-04-05T07:43:46]i410: Variable: WixBundleVersion = 1.0
[0ACC:2334][2023-04-05T07:43:46]i410: Variable: WixStdBALanguageId = 1043
[0ACC:2334][2023-04-05T07:43:46]i007: Exit code: 0x57, restarting: No
wix wix4
1个回答
0
投票

我想我在升级时遇到了类似的问题。你能分享更多你的日志,这样我就可以在上下文中看到它吗? (对不起,我还不能评论帖子)

顺便说一句:我确实注意到 WiX4 中不再存在 ShowFilesInUse 属性。有替代品吗?

我相信默认情况下这是“是”,但现在显示为任务对话框而不是主题中的页面: https://github.com/wixtoolset/wix4/pull/202

© www.soinside.com 2019 - 2024. All rights reserved.