【发布时间】:2016-12-10 23:15:03
【问题描述】:
我通过 vs2015 和 '/clr' 选项创建了一个 Activex。当我在其他电脑上运行它时,它需要 Redistributable 2015。 但是 Win8.1 和 win2012 服务器上没有安装 Redistributable 2015。但安装了 Redistributable 2013。
如何强制 mfc 使用 Redistributable 2013? (或更好的解决方案)
我检查了this,但没有帮助。 并将 Platform Toolset 更改为 Visual Studio 2015 - Windows XP (v140_xp),在 hello-word 项目中产生一些错误
- 我使用 Activex,因为我需要事件
- 它使用 'clr' 选项,因为我在这个 activex 中使用了托管 dll
- 可再发行 2015 日志
Error 0x80240017: Failed to execute MSU package显然适用于 Windows8.1-KB2999226-x64.msu - Windows8.1-KB2999226-x64.msu 独立安装程序说
The update is not applicable to your computer. - 建议安装 Net4.6,但此安装程序被
The update corresponding to KB2919355 needs to be installed before you can install this product on Windows 8.1 or Windows Server 2012 R2阻止,此更新为 690.8 MB,而那个 MB 阻止了我。
【问题讨论】:
-
为什么不简单安装正确的可再发行包?所有 VC 版本都可以在 microsoft 网站上找到它。
-
谢谢@Ari0nhh。我试过了,但安装失败,我看到日志和搜索,微软说“安装 Windows8-RT-KB2999226-x64”,但它也失败了。它发生在 win8 和 server2012 上,恐怕它发生在最终用户机器上
-
您得出了错误的结论,现在提出了错误的问题。 没有可分发包可以假定在客户端的机器上。您总是必须交付您的依赖项(除非您要链接到通用 CRT,它现在是操作系统的一部分),或者将它们静态链接到二进制映像中。
-
@IInspectable 是的,但我必须尝试所有可能的方法。静态链接不可能,因为我使用 /clr。现在我将此添加到我的问题中
-
显然,您还没有尝试过“所有可能的方式”。如果是这种情况,那么使用在 Windows 8 上运行的 Visual Studio 2015 构建 MFC 应用程序将是绝对不可能的。很容易验证,这不是真的。现在,如果您需要帮助,您必须在问题中提供足够的详细信息。到目前为止,还不清楚为什么需要使用
/clr编译器开关,例如。