当我们进行升级时,我们刚刚开始收到上面的错误消息。但是,如果我导航到 PreReq 文件夹 ( C:\ProductName\ISSetupPrerequisites\{AAEC4BE2-1C6B-45E0-B33D-0D657A05F292}
) 并运行 vcredist_x86.exe 并转到另一个 prereq 文件夹 ( C:\ProductName\ISSetupPrerequisites\{8034C99E-3BC0-4E53-BC6E-02E3D8CF5378}
)(按此顺序),它可以正常工作并安装。我假设其中一个用于 C++ 2005,一个用于 SP1 版本,但我不确定哪个是哪个。
我假设第一个用于第一个版本,第二个用于 SP1,因为如果我以相反的顺序安装它们会失败。有趣的是,两者都没有被选为 Installshield 的 Redistributables 选项卡上的先决条件。所以问题可能是它试图安装它们的顺序。我什至没有在 IS 中的可再发行组件列表中看到 C++ 2005(非 SP1),但由于某种原因,两个 vcredist_x86.exe 文件包含在发行版中,并且当以正确的顺序运行时(在安装之外)它们可以工作美好的。
那么如何更改安装程序中的顺序或让它正常工作呢?在这开始发生之前,我将 .ism 文件中的所有更改都还原了回来,但这并没有帮助。
PS 我也将这个问题发布到 InstallShield 论坛。