VS2010使用C ++ 2008 Redistributables安装项目?

时间:2013-03-25 16:20:03

标签: c# c++ visual-studio windows-installer setup-project

情况如下:

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

问题在于,很容易使安装项目安装C ++ 2010库,但我没有太多运气试图安装2008.

  • 对于2010年,它就像在Properties>中选择C ++ 2010一样简单。项目的先决条件部分。 2008年不是一个选择。
  • 我找到了很多关于使用合并模块来安装C ++可再发行组件的文档。但是,在我的机器的C:\ Program Files(x86)\ Common Files \ Merge Modules目录中,我只有C ++ 2010合并模块。我无法从任何有信誉的来源找到可供下载的C ++ 2008合并模块。
  • 我可以轻松下载redistributable installer,但我不知道如何让安装项目使用它。
  • 我在创建bootstrapper包时发现了这个MSDN article。 Hopwever,Bootstrapper Manifest Generator似乎只适用于VS2008和VS2005(见评论)。

我没有权限/能力执行以下任何操作,我认为可以解决此问题:

  • 安装VS2008以获取正确的合并模块
  • 使用其他安装程序,例如InstallShield。
  • 重新编译C ++ dll以使用2010库。

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

2 个答案:

答案 0 :(得分:1)

合并模块附带VS2008和VS2008许可证。创建依赖于2008运行时的C ++ DLL的人可能拥有VS2008的许可证。您可以要求他们提供给您 - 这样做是合法的。

答案 1 :(得分:1)

为了在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,并检查安装项目的先决条件列表。现在一切都应该存在。
  4. 另外,除此之外,我发现除非您采取此问题中列出的步骤:Visual C++ 2010 Runtime Libraries prerequisite keeps popping up on a VS 2010 created installer您的C ++ 2010可再发行组件将始终尝试安装,即使它们已经存在。