你如何设置"InstallShield Prerequisites Location"?
How do you set "InstallShield Prerequisites Location"?
我正在使用 InstallShield 2014 Pro 和 C# 自动化通过 TFS 处理构建。我可以将它配置为构建为 setup.exe 并通过 GUI 从 setup.exe 中提取先决条件,但是当我通过代码执行此操作时,它永远不会设置 "InstallShield Prerequisites Location"。我可以接受 "Extract from Setup.exe" 或 "Follow Individual Selections"。它始终默认为 "Copy From Source Media",即使它是网络媒体格式....
这是我为新创建的版本设置的设置:
m_Release.Compressed = true;
m_Release.MediaType = 4;
m_Release.SetupEXE = true;
m_Release.MSIEngineLocation = ISWiEngineLocation.eelSetupExe;
m_Release.MsiEngineVersion = ISWiMSIEngineVersion.eev31;
m_Release.DotNetVersion = ISWiDotNetVersion.env11;
m_Release.DotNetFrameworkLocation = ISWiDotNetFrameworkLocation.dnlSetupExe;
m_Release.WebType = ISWiWebType.ewtOneExe;
m_Release.DelayMSIEngineReboot = false;
除非我遗漏了它,否则在帮助中没有此选项:http://helpnet.installshield.com/installshield21helplib/installshield21helplib.htm。
我相信我至少已经将它缩小到 ISRelease 中的 ISSetupPrerequisiteLocation(在直接编辑器中)。它应该是 1 但默认为 0。我仍然不知道如何更改它。
顺便说一句,我已经三次检查所有先决条件是否设置为从 setup.exe 中提取。
据我所知,您无法通过 api 设置此值。
您可以手动编辑 xml 或二进制 .ism 文件来设置它,但谁愿意经历那个麻烦。我使用的最简单的修复方法是始终重复使用已设置字段的版本。我们最初是在 install shield 中创建一个新版本,因此需要设置该字段。由于该文件是 controlled/tagged 版本,返回旧版本没什么大不了的。
我正在使用 InstallShield 2014 Pro 和 C# 自动化通过 TFS 处理构建。我可以将它配置为构建为 setup.exe 并通过 GUI 从 setup.exe 中提取先决条件,但是当我通过代码执行此操作时,它永远不会设置 "InstallShield Prerequisites Location"。我可以接受 "Extract from Setup.exe" 或 "Follow Individual Selections"。它始终默认为 "Copy From Source Media",即使它是网络媒体格式....
这是我为新创建的版本设置的设置:
m_Release.Compressed = true;
m_Release.MediaType = 4;
m_Release.SetupEXE = true;
m_Release.MSIEngineLocation = ISWiEngineLocation.eelSetupExe;
m_Release.MsiEngineVersion = ISWiMSIEngineVersion.eev31;
m_Release.DotNetVersion = ISWiDotNetVersion.env11;
m_Release.DotNetFrameworkLocation = ISWiDotNetFrameworkLocation.dnlSetupExe;
m_Release.WebType = ISWiWebType.ewtOneExe;
m_Release.DelayMSIEngineReboot = false;
除非我遗漏了它,否则在帮助中没有此选项:http://helpnet.installshield.com/installshield21helplib/installshield21helplib.htm。
我相信我至少已经将它缩小到 ISRelease 中的 ISSetupPrerequisiteLocation(在直接编辑器中)。它应该是 1 但默认为 0。我仍然不知道如何更改它。
顺便说一句,我已经三次检查所有先决条件是否设置为从 setup.exe 中提取。
据我所知,您无法通过 api 设置此值。
您可以手动编辑 xml 或二进制 .ism 文件来设置它,但谁愿意经历那个麻烦。我使用的最简单的修复方法是始终重复使用已设置字段的版本。我们最初是在 install shield 中创建一个新版本,因此需要设置该字段。由于该文件是 controlled/tagged 版本,返回旧版本没什么大不了的。