VS2010安装项目与C ++ 2008可再发行组件? [英] VS2010 Setup Project with C++ 2008 Redistributables?

查看:376
本文介绍了VS2010安装项目与C ++ 2008可再发行组件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是情况:




  • 我有一个Visual Studio 2010 安装项目,安装一个C#可执行文件

  • 安装包含引用C ++ dll的C#dll

  • C ++ dll需要C ++ 2008 li>


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




  • 对于2010,它就像在项目的Properties> Prerequisites部分中选择C ++ 2010一样简单。 2008不是一个选项。

  • 我发现了许多关于使用合并模块安装C ++可再发行的文档。但是,在我的机器的C:\Program Files(x86)\Common Files \Merge Modules目录中,我只有C ++ 2010合并模块。我找不到可以从任何可信来源下载的C ++ 2008合并模块。

  • 我可以下载可再分发安装程序,但我不知道如何使安装项目使用它。

  • 我发现此 MSDN文章< a>创建引导程序包。 Hopwever, Bootstrapper Manifest Generator 似乎只适用于VS2008和VS2005(见注释)。



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




  • 安装VS2008以获得正确的合并模块

  • 使用不同的安装程序,如InstallShield。

  • 重新编译C ++ dll以使用2010库。



如果任何人遇到并解决此问题,欢迎您的帮助。

解决方案

为了在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运行时库必备条件不断弹出VS 2010创建的安装程序您的C ++ 2010可再发行组件将总是尝试安装,即使他们已经存在。


    Here is the situation:

    • I have a Visual Studio 2010 Setup project which installs a C# executable
    • The installation includes a C# dll that references a C++ dll
    • The C++ dll requires the C++ 2008 libraries

    The problem is that it is very easy to make the setup project install the C++ 2010 libraries, but I am not having much luck trying to install 2008.

    • For 2010, it is as simple as selecting C++ 2010 in the Properties > Prerequisites section of the project. 2008 is not an option.
    • I have found much documentation about using merge modules to install C++ redistributables. However, in the C:\Program Files (x86)\Common Files\Merge Modules directory of my machine, I only have C++ 2010 merge modules. I have not been able to find the C++ 2008 merge modules available for download from any reputable source.
    • I can download the redistributable installer easily enough, but I do not know how to make the setup project use it.
    • I found this MSDN article on creating bootstrapper packages. Hopwever, the Bootstrapper Manifest Generator only seems to work for VS2008 and VS2005 (see comments).

    I do not have the authority/ability to do any of the following, which I believe could resolve the issue:

    • Install VS2008 to get the correct merge modules
    • Use a different installer program, like InstallShield.
    • Re-compile the C++ dll to use the 2010 libraries.

    If anyone has encountered and resolved this issue before, I welcome your help.

    解决方案

    In order to add C++ 2008 redistributables as prerequisites in VS 2010, I found the following steps to be effective:

    1. Determine the product key for the redistributable. There is a good list here: http://blogs.msdn.com/b/astebner/archive/2009/01/29/9384143.aspx
    2. Add the installation executable and corresponding xml files to the bootstrapper directory (C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages), as explained here: http://insomniacgeek.com/clickonce-4-0-package-for-the-c-2008-sp1-redist-atl-security-update/
    3. Restart VS, and check the prerequisites list for the setup project. All should now be present.

    Also, as an aside, I discovered that unless you take the steps outlined in this question: Visual C++ 2010 Runtime Libraries prerequisite keeps popping up on a VS 2010 created installer your C++ 2010 redistributables will always try to install, even if they are already present.

    这篇关于VS2010安装项目与C ++ 2008可再发行组件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆