Как автоматически установить .Net 4.5.2 при запуске setup.exe в проекте msi installscript - PullRequest
1 голос
/ 28 июня 2019

Во-первых, я использую Installshield Premier 2012.

Мое приложение использует минимум .Net Framework 4.5.2, и я хочу, чтобы installshield setup.exe также загружал .Net Framework 4.5.2.

Я пробовал .Net Framework 4.5 Full (вариант Extract From Setup.exe и те же требования к установке), и он работал хорошо, как я ожидал.

Но не было проверки требований 4.5.2 в опции по умолчанию, я скачал DOTNETVERSION452FULL.ini с другого сайта.

После этого я изменил требование на Net Framework 4.5.2 и также извлек Net Net 4.5.2 из setup.exe.

Но отображается только диалоговое окно «Сведения об установщике» «Для продолжения установки необходимо установить полный пакет Microsoft .NET Framework 4.5.2 или более поздней версии». и установка не удалась.

Что мне делать?

ошибка изображения диалога

Ответы [ 2 ]

0 голосов
/ 17 июля 2019

Ваш вопрос не ясен. Но вы проверяли раздел redistributables и пытались отредактировать там файл .prq для другого условия?

0 голосов
/ 02 июля 2019

Я не смог найти его и установить другим способом.

Мое решение было

img01

, добавив еще одну функцию только для .NETFramework.

Если пользователь выбирает .NET Framework в пользовательской установке, программа установки извлекает .NET Framework в INSTALLDIR.

Наконец, установка .NET Framework начинается, когда пользователь нажимает кнопку «Готово».

И я хотел добавить две установки, я добавил два различных кода запуска и ожидания в сценарии установки.

function OnEnd()
STRING szProgram, szCmdLine;

begin

szProgram = INSTALLDIR ^ "FirstSetup.exe";
szCmdLine = "";
//First install
if(LaunchAppAndWait(szProgram, szCmdLine, WAIT) < 0) then
endif;

szProgram = INSTALLDIR ^ "NDP452-KB2901907-x86-x64-AllOS-ENU.exe";//Last Installation must be .NET Framework. Because .NET Framework doesn't allow other installation programs.
//NET Framework install
if(LaunchAppAndWait(szProgram, szCmdLine, NOWAIT) < 0) then//NOWAIT Makes exit current installation when user clicks finish
endif;

end;

...