【问题标题】:Visual C++ Runtime Distributable 2010 in Visual Studio 2012Visual Studio 2012 中的 Visual C++ Runtime Distributable 2010
【发布时间】:2015-05-01 15:49:49
【问题描述】:

我需要能够使用 ClickOnce 在 Visual Studio 2012 中分发 Visual C++ Runtime Distributables 2010。如何让 2010 C++ 引导程序出现在 VS 2012 先决条件中? 2012 年的引导程序已经存在。两个都可以吗?

【问题讨论】:

  • 我使用 msvcr100.dll 和 msvcp100.dll 只是因为 Leadtools。我正在尝试让它们进入 ClickOnce 安装,但你是如何做到的?
  • 你找到解决方案了吗
  • 我必须手动添加 dll。

标签: visual-studio-2012 clickonce


【解决方案1】:

您可以通过破解您的项目文件并复制一些文件来完成此操作。下面的示例用于在 Visual Studio 2013 中使用 Visual C++ 2012 运行时库。如果您使用不同版本的 Visual Studio 或想要不同版本的 Visual C++ 运行时库,则必须更改一些版本号。

首先将以下内容添加到您的项目文件中:

<ItemGroup>
  <BootstrapperPackage Include="Microsoft.Visual.C++.11.0.x64">
    <Visible>False</Visible>
    <ProductName>Visual C++ 2012 Runtime Libraries %28x64%29</ProductName>
    <Install>true</Install>
  </BootstrapperPackage>
</ItemGroup>

以上示例适用于 64 位版本的 Visual C++ 2012 运行时库。如果要使用 32 位版本,则应将 x64 替换为 x86。如果您想使用不同版本的 C++ 库,则必须更改 11.0 版本号。如果此时打开项目并转到先决条件,您会注意到 Visual Studio 2013 找不到 Visual C++ 运行时库的警告。要解决此问题,您需要复制一些文件。

  1. 转到以下文件夹:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages。如果您需要不同版本的 C++ 运行时库,您应该更改 v8.0a 版本号。
  2. 将文件夹 vcredist_x86 复制到 Visual Studio 2013 使用的文件夹:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages。确保使用不同的名称以避免覆盖 2013 库。我用过 vcredist_x64.2012

此时您可以打开您的解决方案并发布您的解决方案。当用户安装您的应用程序时,他们将被要求安装 C++ 运行时库。如果您的用户已经安装了应用程序,他们将需要重新安装,否则他们将不会收到安装 C++ 运行时库的问题。

您的系统上可能没有 C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages 文件夹。我认为您只有在安装 Visual Studio 2012 和 Visual Studio 2013 时才会获得此文件夹。如果您知道可以在哪里下载文件而无需安装 Visual Studio 2012,请随时编辑此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-17
    • 2017-06-12
    • 2012-12-28
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多