VS2010安装工程与c++ 2008可重新分发

本文关键字:2008 安装工程 c++ VS2010 | 更新日期: 2023-09-27 18:05:38

情况如下:

  • 我有一个Visual Studio 2010安装项目,它安装了一个c#可执行文件
  • 安装包含一个c# dll,它引用一个c++ dll
  • c++ dll需要c++ 2008

问题是,它是很容易使安装项目安装c++ 2010库,但我没有太多的运气试图安装2008。

  • 对于2010,只需在项目的Properties> prerequisite部分中选择c++ 2010即可。2008年不行
  • 我发现了很多关于使用合并模块来安装c++可再发行版的文档。但是,在我机器的C:'Program Files (x86)'Common Files'Merge Modules目录中,我只有c++ 2010合并模块。我没有找到c++ 2008合并模块可以从任何有信誉的来源下载。
  • 我可以很容易地下载可重新发布的安装程序,但我不知道如何使安装项目使用它。
  • 我找到了这篇关于创建引导程序包的MSDN文章。然而,Bootstrapper Manifest Generator似乎只适用于VS2008和VS2005(见注释)。

我没有权力/能力做以下任何我认为可以解决问题的事情:

  • 安装VS2008以获得正确的合并模块
  • 使用不同的安装程序,如InstallShield
  • 重新编译c++ dll以使用2010库。

如果有人以前遇到过并解决过这个问题,我欢迎你的帮助。

VS2010安装工程与c++ 2008可重新分发

合并模块随VS2008和VS2008许可证一起提供。创建依赖于2008运行时的c++ dll的人可能拥有VS2008的许可证。你可以要求他们提供给你——这样做是合法的。

为了在VS 2010中添加c++ 2008可重发行版作为先决条件,我发现以下步骤是有效的:

  1. 确定可重新分发的产品密钥。这里有一个很好的列表:http://blogs.msdn.com/b/astebner/archive/2009/01/29/9384143.aspx
  2. 将安装可执行文件和相应的xml文件添加到引导程序目录(C:'Program Files (x86)'Microsoft SDKs'Windows'v7.0A'Bootstrapper'Packages),如下所示:http://insomniacgeek.com/clickonce-4-0-package-for-the-c-2008-sp1-redist-atl-security-update/
  3. 重新启动VS,并检查安装项目的先决条件列表。现在应该都存在了。

另外,作为题外,我发现除非你采取这个问题中概述的步骤:Visual c++ 2010运行时库先决条件不断弹出在VS 2010创建的安装程序中,你的c++ 2010可重新发行版将总是尝试安装,即使它们已经存在。