包含c ++作为pre-req,但是说"已经存在新版本"

bug*_*ixr 6 windows-installer setup-project visual-studio-2010

我正在使用Visual Studio安装项目.如果我转到安装项目的属性,它可以让我选择需要哪些预先请求,此时我选择C++ Redistributable.

在某些系统上,这很好 - 但最近我的用户报告安装失败,因为"在计算机上检测到更新版本的Microsoft Visual C++ 2010 Redistributable".

这样做的正确方法是什么?Visual Studio的检测是否以某种方式被检测到并且无法检测到C++?

Cos*_*rvu 1

默认的 Visual C++ 2010 Redistributable 使用产品代码进行检测。因此,未检测到已安装 Visual C++ 2010 SP1 Redistributable。这就是该软件包尝试安装它但失败的原因。

一个好的解决方案是创建您自己的自定义先决条件,该先决条件使用更好的检测标准。这是一篇可能对您有帮助的文章: http://blogs.msdn.com/b/astebner/archive/2010/05/05/10008146.aspx

Visual Studio 安装项目不支持自定义先决条件创建。但是,可以通过手动生成所需的清单来完成。

您可以在此处找到清单结构:http://msdn.microsoft.com/en-us/library/ms229223 (VS.80).aspx

这些清单可以使用Bootstrapper Manifest Generator工具自动生成。

生成包清单后,您可以将所有这些文件(包括包)添加到 Visual Studio 先决条件文件夹中的单独文件夹中,例如:

C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\
Run Code Online (Sandbox Code Playgroud)

这样,Visual Studio 将在您的安装项目属性页面中显示先决条件。