InstallShield LE 不安装 MS Visual C++ 2010 可再发行组件包 (x86)



我使用InstallShield限量版为我的项目创建安装程序(setup.exe)。我的项目需要Microsoft Visual c++ 2010可重新分发包(x86),我想把这个文件包含到我的setup.exe中。我在我的InstallShield项目的Redistributables视图中这样做-只需选择Microsoft Visual c++ 2010 Redistributable Package (x86)作为InstallShield先决条件组件,并为其设置"Extract From Setup.exe"属性。

我决定在XP和Win7上测试我的setup.exe。为此,我从这些盒子中删除了Microsoft Visual c++ 2010 Redistributable(通过控制面板->卸载程序),并试图安装我的应用程序。我的预期结果是- c++ redist将在我的项目安装之前安装。

但是我有不同的结果:我在XP盒子上安装它时没有问题:它先安装了c++ redist,然后安装了我的应用程序。工作,因为它应该!但是当我在Win7上启动setup.exe时,它没有安装c++ redist -它只安装了我的应用程序。有人能解释一下吗?

顺便说一句,在我卸载它之前,我的Win7机器上的Microsoft Visual c++ 2010可重新分发包(x86)的大小约为11mb,版本为10.0.40219。现在我从这里下载了http://www.microsoft.com/en-us/download/details.aspx?id=5555,手动安装了和…我看到现在它的版本是10.0.30319,大小只有~918 kb。所以,我又想知道,到底发生了什么?

这可能与Installshield先决条件文件Microsoft Visual c++ 2010 Redistributable Package (x86)中的操作系统条件配置有关。

安装在Installshield setupprerequisite目录下。

操作系统条件部分指定了可重分发文件应该安装在哪些版本的Windows上,包括32/64位的服务包。

您已经安装了SP1 redist,但是有一个带有MFC安全更新的更新版本。

http://support.microsoft.com/kb/2565063

最新更新