C# 您如何设置;InstallShield先决条件位置“;?

C# 您如何设置;InstallShield先决条件位置“;?,c#,vb.net,installshield-2014,C#,Vb.net,Installshield 2014,我使用InstallShield 2014 Pro和C#automation通过TFS处理构建。我可以将其配置为构建为setup.exe,并通过GUI从setup.exe中提取prereq,但当我通过代码执行此操作时,它从不设置“InstallShield先决条件位置”。我对“从Setup.exe中提取”或“遵循个人选择”很满意。它总是默认为“从源媒体复制”,即使它是web媒体格式 以下是我为新创建的版本设置的设置: m_Release.Compressed = true; m_Release.

我使用InstallShield 2014 Pro和C#automation通过TFS处理构建。我可以将其配置为构建为setup.exe,并通过GUI从setup.exe中提取prereq,但当我通过代码执行此操作时,它从不设置“InstallShield先决条件位置”。我对“从Setup.exe中提取”或“遵循个人选择”很满意。它总是默认为“从源媒体复制”,即使它是web媒体格式

以下是我为新创建的版本设置的设置:

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;
除非我缺少它,否则在帮助中没有此选项:

我相信我至少已经把它缩小到了ISRelease(在Direct Editor中)中的ISSetuppreRequestLocation。它应该是1,但默认为0。我仍然不知道如何改变它


顺便说一句,我已经三次检查了所有prereq是否设置为从setup.exe提取。

据我所知,您无法通过api设置此值

您可以手动编辑xml或binary.ism文件来设置它,但谁想经历这样的麻烦呢。我使用的最简单的修复方法是始终重用具有字段集的版本。我们最初在InstallShield中创建了一个新版本,因此需要设置字段。由于文件是版本控制/标记的,所以返回到旧版本没有什么大不了的