.net core WiX Bundle获取";未能验证有效负载的哈希值;尝试从web安装.net核心托管捆绑包时

.net core WiX Bundle获取";未能验证有效负载的哈希值;尝试从web安装.net核心托管捆绑包时,.net-core,wix,burn,.net Core,Wix,Burn,我有一个burn/bootstrapper WiX捆绑包,其中包含: ... 我已经将dotnet-hosting-2.1.11-win.exe文件下载到extresourcecopy文件夹中,由于我将SourceFile设置为该文件,因此它会获得自己的有效负载数据 然后,我生成.exe并在另一台计算机上运行,并出现以下错误: Acquiring package: DotNetCoreHostingBundle, payload: DotNetCoreHostingBundle, downl

我有一个burn/bootstrapper WiX捆绑包,其中包含:


...
我已经将dotnet-hosting-2.1.11-win.exe文件下载到extresourcecopy文件夹中,由于我将SourceFile设置为该文件,因此它会获得自己的有效负载数据

然后,我生成.exe并在另一台计算机上运行,并出现以下错误:

Acquiring package: DotNetCoreHostingBundle, payload: DotNetCoreHostingBundle, download from: https://www.microsoft.com/net/download/thank-you/dotnet-runtime-2.1.11-windows-hosting-bundle-installer
Error 0x80091007: Hash mismatch for path: C:\ProgramData\Package Cache\.unverified\DotNetCoreHostingBundle, expected: 1ED626AD403D6E5D99AB69DB7C281FB8E8A8D0A2, actual: F21BF2F13F89D1C9DFD2844D57728102D5714EAA
Error 0x80091007: Failed to verify hash of payload: DotNetCoreHostingBundle
Failed to verify payload: DotNetCoreHostingBundle at path: C:\ProgramData\Package Cache\.unverified\DotNetCoreHostingBundle, error: 0x80091007. Deleting file.
然后,我通过从Microsoft手动下载dotnet-hosting-2.1.11-win.exe文件,使用日志文件中的确切url,并运行以下命令,检查了目标计算机上的SHA1哈希:

certutil -hashfile dotnet-hosting-2.1.11-win.exe
这给了我预期的散列:1ed626ad403d6e5d99ab69db7c281fb8e8a8d0a2


那么,F21BF2F13F89D1C9DFD2844D57728102D5714EAA的“实际”散列从何而来?有没有办法暂停安装程序,以便我可以检查.unverified文件夹中的文件?和/或对此我能做些什么?

您应该能够使用
dark.exe
来反编译您的捆绑可执行文件,并查看所有有效负载的哈希值


注意:这些散列是出于安全目的而存在的。它们可以防止坏角色篡改安装内容。

您使用的URL是一个HTML页面,使用JavaScript下载软件包。Burn只是看到了HTML。

是的,我觉得自己像个白痴!发现哈希是针对index.html页面的。因此,我们将使用“手动下载”链接,该链接用于实际的.exe。