Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 包括c++;作为预请求,但表示;一个新版本已经存在;_Visual Studio 2010_Windows Installer_Setup Project - Fatal编程技术网

Visual studio 2010 包括c++;作为预请求,但表示;一个新版本已经存在;

Visual studio 2010 包括c++;作为预请求,但表示;一个新版本已经存在;,visual-studio-2010,windows-installer,setup-project,Visual Studio 2010,Windows Installer,Setup Project,我正在使用VisualStudio安装项目。如果我去了安装项目的属性,它让我选择需要哪些预Req,在这个点上我选择C++重新分发。 在一些系统中,这很好,但是最近我的用户报告说安装失败了,因为“机器上检测到了一个更新版本的微软Visual C++ 2010可重新分发。” 正确的方法是什么?VisualStudio的检测是否有问题,无法检测到C++ C++?/P>< P>默认VisualC++ 2010可重分发使用产品代码进行检测。所以VisualC++ 2010 SP1可重新分配没有检测到安装。

我正在使用VisualStudio安装项目。如果我去了安装项目的属性,它让我选择需要哪些预Req,在这个点上我选择C++重新分发。

在一些系统中,这很好,但是最近我的用户报告说安装失败了,因为“机器上检测到了一个更新版本的微软Visual C++ 2010可重新分发。”


正确的方法是什么?VisualStudio的检测是否有问题,无法检测到C++ C++?/P>< P>默认VisualC++ 2010可重分发使用产品代码进行检测。所以VisualC++ 2010 SP1可重新分配没有检测到安装。这就是软件包试图安装它但失败的原因

一个好的解决方案是创建自己的自定义先决条件,该先决条件使用更好的检测标准。这里有一篇文章可以帮助您:

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

您可以在此处找到清单结构:

这些清单可以使用该工具自动生成

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

C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\

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

糟糕,这太难看了。我想知道微软放弃VS2010运行时DLL的并行安装后会发生什么。看起来很清楚,互联网上充满了这个安装错误。最大的受害者似乎是未能安装街道和地图的微软本身

我不知道有任何安全补丁,所以我猜你还没有更新到SP1。你的客户使用的是一家供应商的产品。这是一场总有一天会输掉的战斗。请考虑利用DLL的应用程序本地部署,将它们复制到与主EXE相同的目录中。在将安装包放在一起之前,只需从vc/redist目录复制它们,无需勾选先决条件。您需要:

  • 用于常规CRT的msvcr100.dll和msvcp100.dll
  • 如果使用ATL,则使用atl100.dll
  • mfc100.dll、mfc100u.dll、mfcm100.dll、mfc100u.dll,如果使用MFC(u=Unicode,m=managed)
  • mfc100xxx.dll,其中xxx是在非英语机器上使用MFC时的三字母语言代码
  • 如果在代码中使用OpenMP,请使用vcomp100.dll
唯一的缺点是,如果有安全补丁,它们将不会得到更新。这也可能是一个优势,取决于你戴什么颜色的眼镜。如果您对此感到不舒服,那么保持创建安装程序包的计算机的更新(包括启用Windows Update)是一项重要的要求