2009-08-10 2 views
0

Я использую NSIS для установки установщика.Методы автозапуска

1.I должны просто выполнить установку Mysql на первом этапе

2.And позже на успешное выполнение step1 (что является установка MySQL в системе) Мне нужно, чтобы выполнить мои сценарии базы данных.

3.now мне нужно запустить мой MYPROJ.EXE

Здесь проблема инсталлятора непосредственно работает все шаги параллельно. Но я должен запускать их шаг за шагом и только после успешного выполнения предыдущих шагов.

Thanks, srinivas.

+0

Вам следует сбросить тег C# и добавить тег NSIS к этому вопросу, чтобы получить больше просмотров от экспертов NSIS –

ответ

0

Я действительно не уверен, как ваш установщик работает что-либо параллельно. NSIS выполняет команды последовательно. Если вы не идете на большие расстояния, используя команды, которые я никогда не видел, чтобы заставить NSIS работать параллельно, это не работает ничем параллельно. Можете ли вы опубликовать часть исходного кода вашего установщика, чтобы я мог видеть, как вы это делаете?

Вы можете использовать команду nsExec :: ExecToStack для запуска установки MySql и получить код возврата из программы установки следующим образом:

!include LogicLib.nsh  
StrCpy $myReturnCode "0" 
nsExec::ExecToStack "$TEMP\MySqlSetup.exe" 
Pop $myReturnCode 
${If} "$myReturnCode" == "" 
${OrIf} "$myReturnCode" == "0" 
    // Presumably it worked, continue with installation 
${Else} 
    // Error, don't continue with installation 
${EndIf} 

Обратите внимание, что nsExec :: ExecToStack будет ждать исполняемый файл, чтобы вернуться до запуск следующей команды NSIS.

0

Я не знаю много о NSIS, но у нас есть установить скрипт, который вызывает исполняемые файлы с ExecWait:

ExecWait "msiexec /passive /liare+ ${SETUP_LOG_FILE} -i $TEMP\MyMsi.msi" $R0 

Может быть, это то, что вы должны использовать. Вот Quick Guide to NSIS.

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