2016-02-27 79 views
0

,当我试图建立一个单一的EXE图像使用InstallShield 12高级发生此错误:的InstallShield错误-6636 - 文件密钥错误

ISDEV:错误-6636:文件密钥 Global_VC_CPPRT60_f0.51D569E3_8A28_11D2_B962_006097C4DE24和 Global_VC_CPPRT60_f0在File表中找到了.51D569E3_8A28_11D2_B962_006097C4DE24 。尽管具有不同的情况,但当文件安装在目标系统的 上时,相同的密钥 名称将导致意外的结果。这是因为使用文件密钥命名了 cabinet文件中的压缩文件。若要更正此问题,如果 正在构建压缩设置或合并模块,则 会将其中一个文件密钥更改为cabinet文件中的唯一文件密钥。您可以在直接编辑器视图中更改 文件密钥名称。

用户几乎不知道该怎么做。

经过广泛的研究,我发现了答案,随后。

回答

0

这个问题的根源在于这个文件: CrystalReports8.5CrystalReportAPI.Msm 或可能在本文件: CyrstalReports85_Crpre32.msm

这些文件通常都设在这里: C:\ Program Files文件\ Macrovision公司\ IS12 \模块\ I386

如果您打开上面的MSM(合并文件)中的InstallShield,你会看到它包含两个依赖: MSVCIRT.DLL(版本6.0.8168.0) - 微软C++运行时库我/ O 6.0 MSVCP60.DLL(版本6.0.8168.0) - Micro柔性C++运行时库6.0

如果检查每个条目的细节,你会看到,都包含相同的模块ID: MSVCP60.51D569E3_8A28_11D2_B962_006097C4DE24

因为合并文件的目的是安装CRPE32.DLL对于Crystal Reports 8.5,一种解决方案是从安装脚本中删除此合并文件,并将其作为文件而不是合并模块安装。 [合并模块可能在安装设计器的其中一个分支中引用 - 例如Organization |安装设计,和/或它可能出现在组织|下另一方面,如果您不小心在项目中留下了对上述可再发行组件的引用(如果您不确定,请检查InstallShield的安装设计器|组织结构|安装设计和安装设计器|应用程序数据|可再分发组件以供参考到CrystalReports8.5CrystalReportAPI.Msm),那么您只需在尝试重建之前将它们从InstallShield项目中移除即可。