简体   繁体   English

坚持使用 WiX 引导程序; 它给出“错误 0x80070643:无法安装 MSI 包”

[英]Stuck with WiX bootstrapper; it gives “Error 0x80070643: Failed to install MSI package”

I created a .msi using the WiX Toolset, and it works fine.我使用 WiX 工具集创建了一个 .msi,它工作正常。 But the problem is when I want to run the .msi using WiX Bootstrapper project, it gives me the below errors in the log file.但问题是当我想使用 WiX Bootstrapper 项目运行 .msi 时,它在日志文件中给了我以下错误。

Error 0x80070643: Failed to install MSI package.错误 0x80070643:无法安装 MSI 包。 Error 0x80070643: Failed to execute MSI package.错误 0x80070643:无法执行 MSI 包。 Error 0x80070643: Failed to configure per-machine MSI package.错误 0x80070643:无法配置每台机器的 MSI 包。

Here is my WiX Bootstrapper bundle code snippet:这是我的 WiX Bootstrapper 包代码片段:

 <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>

The error for absolute path will only happen when the WiX bundle tries to compile your Bundle.wxs file and if it doesn't find the MSI file in the location you mentioned.只有当 WiX 包尝试编译您的 Bundle.wxs 文件并且在您提到的位置找不到 MSI 文件时,才会发生绝对路径错误。 That error won't happen at run time.该错误不会在运行时发生。 Also if you set the MSIPackage Compressed property, then your MSI file will be added as part of the bundle EXE file and not left as a separate file.此外,如果您设置 MSIPackage Compressed 属性,那么您的 MSI 文件将作为捆绑 EXE 文件的一部分添加,而不是作为单独的文件保留。

Do this, then run your bundle and paste the log file of the bundle and also the MSI logs here.执行此操作,然后运行您的捆绑包并将捆绑包的日志文件以及 MSI 日志粘贴到此处。

The MSI log will be at "C:\\Users\\username\\AppData\\Local\\Temp{logfilename}.log". MSI 日志将位于“C:\\Users\\username\\AppData\\Local\\Temp{logfilename}.log”。 {logfilename} for the MSIpackage will be based on the MSIPackage → LogPathVariable - Name of a variable that will hold the path to the log file. MSIpackage 的 {logfilename} 将基于 MSIPackage → LogPathVariable - 保存日志文件路径的变量名称。

An empty value will cause the variable to not be set.空值将导致变量不被设置。 The default is "WixBundleLog_[PackageId]" except for MSU packages which default to no logging.默认为“WixBundleLog_[PackageId]”,但默认不记录日志的 MSU 包除外。

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

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