我正在使用InstallShield Limited Edition为我的项目创建安装程序(setup.exe)。我的项目需要Microsoft Visual C ++ 2010 Redistributable Package(x86),我想将此redist包含到我的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 - 它只安装了我的应用程序。谁能解释一下呢?
顺便说一下,在我卸载之前,Microsoft Visual C ++ 2010 Redistributable Package(x86)在我的Win7盒子上的大小约为11 mb,版本为10.0.40219。现在我从这里http://www.microsoft.com/en-us/download/details.aspx?id=5555下载了它,安装手动并且......我看到它现在有版本10.0.30319,大小只有~918 kb。所以,我再次想知道,发生了什么?
答案 0 :(得分:0)
这可能与位于Installshield SetupPrerequisites目录中的Installshield先决条件文件Microsoft Visual C ++ 2010 Redistributable Package(x86).prq中的operatingsystemconditions配置有关。
operatingsystemconditions部分指定应安装哪些版本的Windows,包括Service Pack,32/64位,可再发行文件。
有关详细信息,请参阅http://daniellang.net/installshield-and-microsoft-visual-c-2010-redistributables/。
答案 1 :(得分:0)
您已经安装了SP1 redist,但是有一个带有MFC安全更新的更新版本。