gpt4 book ai didi

windows-installer - MSI 验证返回 "ICE81 Failure ICE Internal Error 1867. API Returned: 1615."

转载 作者:行者123 更新时间:2023-12-04 07:50:23 25 4
gpt4 key购买 nike

我所有的 MSI 安装在验证期间都显示相同的 ICE81“失败”,但我无法弄清楚是什么原因造成的。无论我使用哪个 MSI 编辑器运行验证(MS Orca、Flexera InstallShield、InstEdit.com),它都会发生。我的所有安装包都使用位于正确位置(与 MSI 文件相同的文件夹)的外部 CAB 文件,并且所有 CAB 文件都使用与 MSI 文件签名相同的数字签名(以及媒体、MsiDigitalCertificate、MsiDigitalSignature、和 MsiPatchCertificate 表似乎已正确编写)。

ICE81 Failure ICE Internal Error 1867. API Returned: 1615.     MSIEditor_full_path\darice.cub
ICE81 Failure Error 2228: C:\Users\my_user_name\AppData\Local\Temp\random_tmp_filename.tmp, feature_name, SELECT `DiskId`, `Cabinet` FROM `Media` WHERE (`DiskId` = cab_name.cab) MSIEditor\darice.cub

有什么想法吗?

最佳答案

错误是 ERROR_BAD_QUERY_SYNTAX,意思是“SQL 查询语法无效或不受支持”。因此,ICE 为验证您的 MSI 而进行的内部 SQL 查询失败了。查看查询,唯一可能失败的部分是查询:WHERE DiskId=cab_name.cab

仔细观察,问题是 cab_name.cab 是一个字符串,这意味着它应该用单引号引起来。换句话说,它应该类似于:'cab_name.cab'。那么为什么 ICE 没有正确地引用字符串呢?嗯,这就是答案。

Media 表的 DiskId 列应该是一个数字。 cab_name.cab 以某种方式被插入到 Media 表的第一列中,而该表中应该是数字(如 1)。 ICE 不会在 DiskId 周围加上引号,因为它需要一个数字,而数字不应该被引用。

要修复,请将 Media 表的 DiskId(第一)列更改为正数(我喜欢 1)并将cab_name.cab Cabinet(第四)列中的值。

我不确定哪些工具允许您将字符串放入整数列,但您可能会向他们发送一个错误,因为各种事情都不起作用。 :)

关于windows-installer - MSI 验证返回 "ICE81 Failure ICE Internal Error 1867. API Returned: 1615.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16343914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com