【问题标题】:Stuck with WiX bootstrapper; it gives "Error 0x80070643: Failed to install MSI package"坚持使用 WiX 引导程序;它给出“错误 0x80070643:无法安装 MSI 包”
【发布时间】:2015-02-10 08:12:06
【问题描述】:

我使用 WiX 工具集创建了一个 .msi,它运行良好。但问题是当我想使用 WiX Bootstrapper 项目运行 .msi 时,它会在日志文件中显示以下错误。

错误 0x80070643:无法安装 MSI 包。 错误 0x80070643:无法执行 MSI 包。 错误 0x80070643:无法配置每台机器的 MSI 包。

这是我的 WiX Bootstrapper 捆绑代码 sn-p:

 <Bundle Name="BootstrapperHelloWorld" Version="1.0.0.0" Manufacturer="Arifur Rahman" UpgradeCode="1dd53ea0-e19b-4e89-a85f-97ab912700d3">
     <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />

     <Chain>
        <MsiPackage SourceFile="D:\HelloWorld\BootstrapperHelloWorld\Prerequisit\HelloWorld.msi" />
    </Chain>

【问题讨论】:

  • 感谢您的回复。我在创建 msi 文件时使用了InstallScope="perMachine" 属性。并在引导程序 MsiPackage Element 上使用 ForcePerMachine="yes" 。但仍然收到错误
  • 你能从日志文件中粘贴更多详细信息吗?
  • 在我的日志文件中,当我在另一台 PC 上运行 exe 文件时收到此消息 [1114:0F90][2015-02-13T19:46:38]i101: Detected package: MvcSetup.msi ,状态:不存在,缓存:无我认为这就是为什么我得到 [0274:1350][2015-02-13T19:47:48]e000:错误 0x80070642:无法安装 MSI 包。在 sourcefile 属性上给出绝对文件路径时是否会出现错误..?以及我应该将我的 msi 和其他相关 msi 文件保存在引导程序项目的哪里
  • 只有当 Wix 捆绑包尝试编译您的 Bundle.wxs 文件并且在您提到的位置找不到 msi 时,才会发生绝对路径错误。该错误不会在运行时发生。此外,如果您设置 MSIPackage Compressed 属性,那么您的 msi 将作为捆绑 exe 的一部分添加,而不是作为单独的文件保留。执行此操作,然后运行您的捆绑包并在此处粘贴捆绑包的日志文件以及 MSI 日志。 MSI 日志将位于“C:\Users\username\AppData\Local\Temp\{logfilename}.log”

标签: .net wix


【解决方案1】:

仅当 WiX 捆绑包尝试编译您的 Bundle.wxs 文件并且在您提到的位置找不到 MSI 文件时,才会发生绝对路径错误。该错误不会在运行时发生。此外,如果您设置 MSIPackage Compressed 属性,则您的 MSI 文件将作为捆绑 EXE 文件的一部分添加,而不是作为单独文件保留。

执行此操作,然后运行您的包并在此处粘贴该包的日志文件以及 MSI 日志。

MSI 日志将位于“C:\Users\username\AppData\Local\Temp{logfilename}.log”。 MSI 包的 {logfilename} 将基于 MSIPackage → LogPathVariable - 将保存日志文件路径的变量的名称。

空值会导致变量不被设置。默认为“WixBundleLog_[PackageId]”,但默认为不记录的 MSU 包除外。

【讨论】:

    猜你喜欢
    • 2022-07-23
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多