2015-06-26 2 views
0

Я использую InstallShield 2014 Pro и C# automation для обработки сборок через TFS. Я могу настроить его для сборки как setup.exe и извлечь prereqs из setup.exe через графический интерфейс, но когда я делаю это с помощью кода, он никогда не устанавливает «InstallShield Prestquisites Location». Я в порядке, это «Извлечение из Setup.exe» или «Следуйте отдельным выборам». Он по умолчанию всегда «Copy From Source Media», даже если его формат веб-СМИ ....Как вы устанавливаете «Предпосылки установки InstallShield»?

Вот настройки, которые я установить для вновь созданного выпуска:

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. Как изменить, это все еще ускользает от меня.

BTW, я проверил triple, что все prereqs установлены для извлечения из setup.exe.

ответ

0

Насколько я могу найти, вы не можете установить это значение через api.

Вы можете вручную отредактировать файл xml или двоичный файл .ism, чтобы установить его, но кто хочет пройти через эту проблему. Самое простое исправление, с которым я столкнулся, заключалось в том, чтобы всегда повторно использовать выпуск, у которого есть поле. Первоначально мы создавали новый выпуск в установочном щите и, следовательно, ему нужно было установить поле. Так как файл контролируется версией/тегом, его не стоит возвращаться к старым версиям.

Смежные вопросы