Как установить "Расположение предварительных условий InstallShield"?
Я использую InstallShield 2014 Pro и автоматизацию C# для обработки сборок через TFS. Я могу настроить его для сборки как setup.exe и извлечь предварительные требования из setup.exe через графический интерфейс, но когда я делаю это с помощью кода, он никогда не устанавливает "Расположение предварительных требований InstallShield". Я в порядке с тем, чтобы быть "Извлечь из Setup.exe" или "Следовать за отдельными выборами". По умолчанию это всегда "Копировать с исходного носителя", хотя это формат веб-медиа....
Вот настройки, которые я установил для недавно созданной версии:
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.
Я полагаю, что я, по крайней мере, сузил его до ISSetupPrerequisiteLocation в ISRelease (в прямом редакторе). Должно быть 1, но по умолчанию 0. Как изменить это все еще ускользает от меня.
Кстати, я трижды проверил, что все предварительные требования установлены для извлечения из setup.exe.
1 ответ
Насколько я могу найти, вы не можете установить это значение через API.
Вы можете вручную отредактировать xml или двоичный файл.ism, чтобы установить его, но кто хочет пройти через эту проблему. Самым простым исправлением, с которым я столкнулся, было повторное использование релиза с установленным полем. Первоначально мы создавали новую версию в инсталляционном щите, и поэтому нам нужно было настроить поле. Поскольку файл контролируется версией / помечается тегами, возвращаться к более старым версиям не составляет особого труда.