2015-10-15 3 views
1

Когда я запускаю установку из установки Inno с:Определите, когда VERYSILENT завершения установки

Installer.exe /VERYSILENT 

Команда немедленно возвращает даже если установка занимает около 10 минут. Так что, если я бегу:

Installer.exe /VERYSILENT 
DoNextThing.exe 

DoNextThing.exe работает в то время как installer.exe еще установка.

Я хотел бы запустить некоторую конфигурацию после успешной установки. Прямо сейчас, в PowerShell, я делаю следующее:

$h = Start-job -name Installer -ScriptBlock {."Installer.exe" /VERYSILENT} 
$h # the ps job control commands show this job as complete very quickly 
sleep 10 
$x = Get-Process -ProcessName Installer 
while ($x -and ! $x.HasExited) 
{ 
    write-output "waiting ..." 
    sleep 10 
} 
# Do some configuration 

Хотя это похоже на работу, я думаю, что я должен пропускать лучший способ сделать это. Я не хочу делать это частью установщика, поскольку эта конфигурация предназначена только для тестовой среды Jenkins.

Любые идеи, почему управление полномочиями PowerShell не работает для этого? Я использую powershell неправильно, или же Installer.exe, сгенерированный Inno Setup, не работает хорошо с powershell? [я должен использовать cmd.exe вместо powershell?]

ответ

1

Возможно, вам придется просто добавить команду в раздел RUN в inno-setup, чтобы создать файл «IamFinishedInstalling.txt», как последнее, что он делает.

Теперь ваша файловая система может блокироваться в этом файле, а не пытаться определить статус процесса или работы.

while (! (Test-Path "IamFinishedInstalling.txt")) { sleep 10 } 

Если installer.exe действительно возвращение перед установкой закончена, это может быть самое простое, что вы можете попробовать.

+1

Хотя это и работает, связанный вопрос обеспечивает более чистый ответ трубопровода на Out-Null – rkh

0

Зачем использовать работу вообще? Просто запустите установщик с помощью команды установщика. Когда исполняемый файл завершится, PowerShell продолжит переход к следующей строке скрипта.

+1

В первой строке вопроса, это то, что я пробовал. Установщик немедленно возвращается, хотя у него еще 10 минут для завершения. Я отредактировал вопрос, чтобы прояснить это. – rkh

+0

Тем, кто читает комментарии: вопрос не сказал, что изначально (отсюда и этот ответ). –

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