You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wix Installer出现Hash mismatch错误,请求排查故障原因

故障原因分析:Wix安装程序哈希不匹配错误0x80091007

报错日志

e000: 错误0x80091007: 路径哈希不匹配:C:\ProgramData\Package Cache{0120503F-72AF-4880-B381-B9F1418EB786}v1.0.0.0\IISInstallation,预期值:8AA50D1AA48711BDAF934D5DAD6674FD56670F79,实际值:35A87DA0B621B40181ECD2A1CCBDAA8B9C660102

[5544:4D70][2024-12-17T02:01:09]e000: 错误0x80091007: 验证负载IISWebServerRole的哈希失败

[5544:4D70][2024-12-17T02:01:09]e310: 在路径C:\ProgramData\Package Cache{0120503F-72AF-4880-B381-B9F1418EB786}v1.0.0.0\IISInstallation验证负载IISWebServerRole失败,错误:0x80091007。正在删除文件。

[5544:4D70][2024-12-17T02:01:09]e000: 错误0x80070002: 在工作路径C:\Windows\Temp{E17C1111-28D5-427F-AF65-6690961B0ACB}\IISWebServerRole和未验证路径C:\ProgramData\Package Cache.unverified\IISWebServerRole中未找到负载IISWebServerRole

[5544:4D70][2024-12-17T02:01:09]e000: 错误0x80070002: 缓存负载IISWebServerRole失败
[0E30:19C0][2024-12-17T02:01:09]e314: 从工作路径C:\Windows\Temp{E17C1111-28D5-427F-AF65-6690961B0ACB}\IISWebServerRole缓存负载IISWebServerRole失败,错误:0x80070002。
[0E30:19C0][2024-12-17T02:01:09]e349: 应用程序请求重试负载IISWebServerRole,遇到错误:0x80070002。正在重试...

关联的Bundle代码片段

<Chain>
    <MsiPackage Id="IISWebServerRole" Name="IISInstallation" 
    ForcePerMachine="yes" SourceFile="IISFeature\bin\x64\Release\IISFeature.msi" Visible="no" 
    LogPathVariable="LogIISWebServerRole"
    DisplayInternalUI="no" Vital="no" Permanent="yes">
             <MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />     
    </MsiPackage>
    <ExePackage Id="DotNetSDK6" PerMachine="yes" SourceFile="prerequisite\dotnet-sdk-6.0.401-win-x64.exe" RepairCommand="/quiet /repair /norestart" InstallCommand="/quiet /norestart" Vital="no" Permanent="yes" LogPathVariable="LogDotNetSDK6Bundle"></ExePackage>
    <ExePackage Id="DotNetCoreHostingBundle" PerMachine="yes" SourceFile="dotnet8\dotnet-hosting-8.0.10-win.exe" RepairCommand="/quiet /repair /norestart" InstallCommand="/quiet /norestart" Vital="no" Permanent="yes" LogPathVariable="LogDotNetCoreHostingBundle"></ExePackage>
    <ExePackage Id="DotNet8Runtime" PerMachine="yes" SourceFile="prerequisite\dotnet-runtime-8.0.8-win-x86.exe" RepairCommand="/quiet /repair" DetectCondition="(Dotnet8RuntimeFound ~= &quot;True&quot;)" InstallCommand="/quiet /restart" Vital="no" Permanent="yes" LogPathVariable="LogDotNet8Runtime"></ExePackage>
    <ExePackage Id="WindowsDesktopDotNet8Runtime" PerMachine="yes" SourceFile="dotnet8\windowsdesktop-runtime-8.0.10-win-x64.exe" RepairCommand="/quiet /repair" DetectCondition="(WindowsDesktopDotNet8RuntimeFound ~= &quot;True&quot;)" InstallCommand="/quiet /restart" Vital="no" Permanent="yes" LogPathVariable="LogWindowsDesktopDotNet8Runtime"></ExePackage>
    
...
</Chain>

可能的故障原因

  • 安装包文件损坏:IISFeature.msi在打包、存储或传输过程中损坏,导致实际哈希值与Wix Bundle编译时记录的预期哈希不符。
  • 缓存目录残留冲突:C:\ProgramData\Package Cache中残留了旧版本的IISInstallation文件,新版本安装时校验哈希与旧文件冲突,验证失败后旧文件被删除,后续找不到有效负载文件。
  • 临时目录异常:Windows临时目录C:\Windows\Temp权限不足,导致安装程序无法写入/读取IISWebServerRole负载文件;或临时文件被杀毒软件、系统清理工具提前删除。
  • 编译与分发文件不一致:编译Wix Bundle时,指定路径下的IISFeature.msi与最终分发的安装包内文件不是同一版本,编译时记录的哈希值和实际运行时文件哈希不匹配。
  • 安全软件干扰:Windows Defender或第三方杀毒软件扫描、修改了Package Cache目录下的文件,导致文件哈希值被篡改。

内容的提问来源于stack exchange,提问作者Adriano Santros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 07:03:20