我正在使用InstallShield Spring 2012.目前,我的公司为其安装程序使用VC可再发行的先决条件。最初设置条件的方式并未涵盖我们所有用户的问题,因此必须进行更改。由于InstallShield使用AND运算符处理先决条件,因此我需要在x64和x86上指向不同的注册表项。这迫使我为同一个VC可再发行组件创建了2个先决条件。这样做后,我遇到了一个新的问题,即在我们的安装程序中复制了VC redist文件,从而使安装程序的大小增加了4.3MB。为了解决大小问题,我给了两个先决条件相同的GUID。这确实有效,尽管我现在在构建时遇到错误。
我看到的错误是(下面的GUID和文件路径不是实际使用的): ISDEV:错误-1007:无法将源'C:\ vc9 \ vcredist_x86_vc9sp1.exe'复制到目标'C:\ MyApplication \ temp \ ISSetupPrerequisites {L4530M2D-G0U7-9437-326H-14 PDGA5R257T} \ vcredist_x86_vc9sp1.exe'
即使出现错误,一切似乎也能正常工作。我的猜测是,InstallShield将VC redist置于该GUID文件夹下,当它想要将其再次复制到第二个prereq的同一位置时,它会遇到问题,这可能是由于只读或文件夹已经存在在使用中。
有没有办法解决这个问题,以便我在构建时不会出现此错误?如果有人知道我在本文中遇到的任何问题的更好方法,请分享。感谢。
答案 0 :(得分:0)
我绝对忽视了这一点。我不必为x86和x64分别设置先决条件。为了解决这个问题,我只是指出x86路径,无论使用什么操作系统。这解决了这个问题。谢谢迈克尔。