InstallShield 2011 Standalone Builder不包括.net 3.5所需的setup先决条件



2011 InstallShield独立构建器不包括。net 3.5所需的setup先决条件;当使用完整安装构建时,它成功完成,但是当使用SAB构建时,它给出以下一组错误:

ISDEV: error -1007: Cannot copy source 'c: Program Files InstallShield 2011 SAB SetupPrerequisitesMicrosoft .net3.5 Fulldotnetfx 35.exe' to target '[path] ReleaseDiskImagesDISK 1 ISSetupPrerequisites{2B692A0F-7172-44B2-B0CB-9991078AFD31}dotnetfx 35.exe'

ISDEV:错误-5054:无法确定文件"[path] ReleaseDiskImagesDISK 1 ISSetupPrerequisites{2B692A0F-7172-44B2-B0CB-9991078AFD31}dotnetfx 35.exe"的大小

ISDEV: error -1007: Cannot copy source 'c: Program Files InstallShield 2011 SAB SetupPrerequisitesMicrosoft .net3.5 FullHelper .exe' to target '[path] ReleaseDiskImagesDISK 1 ISSetupPrerequisites{2B692A0F-7172-44B2-B0CB-9991078AFD31}Helper .exe'

ISDEV:错误-5054:无法确定文件"[path] ReleaseDiskImagesDISK 1 ISSetupPrerequisites{2B692A0F-7172-44B2-B0CB-9991078AFD31}Helper .exe"的大小

有点奇怪的是,在无法复制(从SRC到DEST)之后,它仍然试图确定DEST的文件大小!

但无论如何,根本原因是安装目录(c: Program Files InstallShield 2011 SAB)中setup先决条件下的"Microsoft .net"文件夹丢失。它应该有一个文件夹"3.5",其中应该有一个文件夹"Full",其中应该包含两个文件:dotnetfx35.exe和Helper.exe。

通过将这些文件从完整安装复制到SAB安装,我们已经在SAB安装中修复了这个问题。

实际上,我们已经有了一个包含ISM的InstallShield文件夹,所以我们只是在那里创建了一个setup先决条件文件夹,把应该安装的相同结构放在那里,然后添加逻辑到构建中,这样如果它看到这个文件夹,它会将其中的所有内容复制到SAB安装文件夹中,这样构建就会成功。

我在上面的段落中回答我自己的问题;

你的观察是正确的,我不喜欢InstallShield的工作方式(默认情况下),因为它鼓励神奇的(构建)机器反模式。

相反,我更喜欢编辑PRQ文件和ISM对PRQ的引用(istup先决条件表,ISBuildSourcePath列),并使所有内容使用基于ISPROJECTDIR路径变量的相对路径。我检查然后检查所有的PRQ文件和redist文件到我的源代码控制,这样当我的构建拉树,一切都可以找到。如果您在多个构建中重用redist,则该模式可以变得更复杂,但概念是相同的。

相关内容

最新更新