Войти

Показать полную графическую версию : [решено] Ожидание завершения процесса созданного другим процессом?


DesignerMix
16-02-2012, 18:01
Смысл в том что мне нужно автоматически удалить Office 2007 с компа, затем автоматически установить Office 2007 и SP2 на него.
Вот код CMD-файла который я написал:

start /wait msiexec.exe /X{90120000-0030-0000-0000-0000000FF1CE} /q
start /wait \\educate\work\TestOffice2007SCCM\MSOffice2007\setup.exe
start /wait \\educate\work\TestOffice2007SCCM\MSOffice2007\Updates\office2007sp2-kb953195-fullfile-ru-ru.exe /passive


В чем вся проблема?
Проблема в том, что когда выполняется первая команда, то msiexec.exe запускает процесс setup.exe который начинает удалять офис, НО т.к. msiexec.exe уже закрылся, то выполняется вторая команда, и я получаю ошибку что запущены два процесса установки одновременно.

Как можно подкорректировать данный скрипт так чтобы после первой команды скрипт бы ожидал завершения setup.exe?

Я в этом не силен, так что не пинайте плиз :)

ЗЫ: Забыл добавить что я рассматривал вариант запуск непосредственно самого setup.exe с параметром /uninstall {90120000-0030-0000-0000-0000000FF1CE} Но к сожалению я получаю ошибку что установка данного продукта повреждена.

Iska
16-02-2012, 19:53
то msiexec.exe запускает процесс setup.exe который начинает удалять офис, »
я рассматривал вариант запуск непосредственно самого setup.exe с параметром /uninstall {90120000-0030-0000-0000-0000000FF1CE} Но к сожалению я получаю ошибку что установка данного продукта повреждена. »
Возьмите Process Explorer и посмотрите, какую командную строку «msiexec.exe» (при запуске посредством:
start /wait msiexec.exe /X{90120000-0030-0000-0000-0000000FF1CE} /q
) задаёт для запуска процесса «setup.exe». И, посмотрев, используйте такую же.

DesignerMix
16-02-2012, 20:26
Iska, Спасибо огромное! Сработало.

Если кому-то будет полезно вот параметры:
start /wait \\educate\work\TestOffice2007SCCM\MSOffice2007\setup.exe /UNINSTALL ENTERPRISE /CONFIG "\\educate\work\TestOffice2007SCCM\uninst.tmp"

Код в файле uninst.tmp такой:

<Configuration Product="ENTERPRISE"><Display Level="Basic" CompletionNotice="No" SuppressModal="Yes" NoCancel="Yes"/></Configuration>

Таким образом мы полностью удаляем все компоненты офиса 2007 без запроса пользователя. В конце программа сама закрывается.




© OSzone.net 2001-2012