【问题标题】:Install Shield LE - Error 6058 ... merging Visual C++ 10.0 CRT in 64bit安装 Shield LE - 错误 6058 ...在 64 位中合并 Visual C++ 10.0 CRT
【发布时间】:2011-03-22 12:43:19
【问题描述】:

我正在尝试编译安装屏蔽项目。这是一个 64 位程序。
我不断收到此错误,尽管它确实可以编译并安装正常:

Error   16  -6058: Error merging Visual C++ 10.0 CRT (IA64) with module ID C:\Program Files (x86)\Common Files\Merge Modules\Microsoft_VC100_CRT_ia64.msm   ISEXP : error : -6058: Error merging Visual C++ 10.0 CRT (IA64) with module ID C:\Program Files (x86)\Common Files\Merge Modules\Microsoft_VC100_CRT_ia64.msm

知道如何告诉它不要尝试合并吗? (我可以让它安装可再发行的 CRT 广告)

【问题讨论】:

    标签: visual-c++ installshield-le


    【解决方案1】:

    好的,就是这样:

    被错误检测为依赖:

    添加合并模块'Visual C++ 10.0 CRT (IA64)' 依赖于 零件 'MyProjectName.Primary_output'

    所以你去:

    指定应用程序数据 -> 文件

    右键单击具有依赖项的指定项目。
    选择 Dependencies from scan at build.. 找到不需要的文件,然后取消选中它。

    【讨论】:

    • 另外,如果您确实需要 C++ 运行时,最好使用提供的设置先决条件,而不是将其作为合并模块包含在内。这允许微软更好地服务(补丁)它。不过,它确实需要使用 setup.exe 引导程序。
    【解决方案2】:

    某些 Installshield 产品(至少 2010 年、2011 年)似乎在扫描使用 10.0 CRT 的托管 (/clr) c++ 模块时出现问题,即使对于仅 32 位项目也是如此。在这些情况下,IA64 msm 被添加到项目中,产生“错误 -5008:必须在摘要流的模板中指定 Intel64 或 AMD64”。 Yochai 的解决方案也解决了这个问题。我还没有看到原生 c++ 代码的这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-26
      • 2017-01-25
      • 2019-05-27
      • 1970-01-01
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      相关资源
      最近更新 更多