【问题标题】:Install VC++ Runtime 64-bit if system is 64-bit如果系统是 64 位,则安装 VC++ Runtime 64 位
【发布时间】:2010-09-23 09:07:16
【问题描述】:

我正在创建一个 Visual Studio 2010 安装项目来安装我的应用程序。我的应用程序通过为不同的系统位数提供多个可执行文件来工作,并检测您是在 32 位还是 64 位系统上运行。

如果是 64 位系统,我希望安装程序安装 Visual C++ 2010 x64 Runtime。将此设置为先决条件,将禁用在 32 位系统上的安装。有没有办法将此设置为先决条件,但仅限于 64 位系统,无需借助两个不同的安装程序?

【问题讨论】:

    标签: visual-studio-2010 windows-installer setup-project msvcrt


    【解决方案1】:

    您需要为 64 位版本和 32 位版本创建单独的 MSI 文件以处理 WOW64 的特殊性。

    不可能让一个 MSI 同时安装 64 位和 32 位版本:

    Different Packages are Required for Different Processor Architectures

    因为您将拥有单独的 MSI 文件,所以将 64 位 VC++ 运行时可再发行组件分别添加到 64 位 MSI 和 32 位可再发行组件到 32 位 MSI 应该很容易。

    当然,您可以创建一个引导程序来检查系统架构,然后启动相应的 MSI 文件。我相信dotNetInstaller 提供了related question 中指出的这种机制。

    【讨论】:

    • 如何在 VS2010 中做到这一点?我可以创建两个安装项目,并让 32 位安装程序包含 64 位安装程序吗?如果是这样,我该如何让它根据系统的位数安装64位版本?
    • 我认为我的解决方案是在安装过程中放弃 x64 要求。当您启动程序时,我会提示用户下载并安装正确的软件包(直接链接),以使程序正常工作。在稍后的某个阶段,我可能会添加一种更简化的方法,自动下载和安装它(当然,在用户许可的情况下)。
    猜你喜欢
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 2017-10-17
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    • 2011-04-17
    • 2011-11-20
    相关资源
    最近更新 更多