VS2010安装项目与C ++ 2008可再发行组件? [英] VS2010 Setup Project with C++ 2008 Redistributables?
问题描述
这是情况:
- 我有一个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可再发行组件作为先决条件,我发现以下步骤有效:
- 确定可再发行组件的产品密钥。这里有一个很好的列表: http:// blogs。 msdn.com/b/astebner/archive/2009/01/29/9384143.aspx
- 将安装可执行文件和相应的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 / - 重新启动VS,并检查安装项目的先决条件列表。
- 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
- 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).
- 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.
- 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
- 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/ - Restart VS, and check the prerequisites list for the setup project. All should now be present.
此外,除非你采取这个问题中列出的步骤: Visual C ++ 2010运行时库必备条件不断弹出VS 2010创建的安装程序您的C ++ 2010可再发行组件将总是尝试安装,即使他们已经存在。
Here is the situation:
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.
I do not have the authority/ability to do any of the following, which I believe could resolve the issue:
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:
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屋!