Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка приложений (http://forum.oszone.net/forumdisplay.php?f=61)
-   -   как узнать, что программа установилась? (http://forum.oszone.net/showthread.php?t=252433)

polsok 27-01-2013 09:42 2075926

как узнать, что программа установилась?
 
мне нужно автоматизировать установку нескольких программ посредством скрипта и не допустить их одновременной установки.

Т.е. вначале запускается установка одной программы, затем по завершении ее запускается установка другой программы и т.д.

Есть какие нибудь маркеры в реестре, которые позволяют понять, что установка завершена.

Или есть какие нибудь более простые способы решения?

Iska 27-01-2013 11:26 2075949

Цитата:

Цитата polsok
мне нужно автоматизировать установку нескольких программ посредством скрипта …»

Какого скрипта? Их много: Windows Script Host, PowerShell, Python, AutoIt, AutoHotKey и несть числа прочим. Кое-кто сюда же относит и пакетные файлы. И в каждом из них есть достаточно простой способ для желаемого.

polsok 27-01-2013 20:48 2076349

Iska,
PowerShell, CMD, JavaScrypt... - укажи любой вариант.

Iska 27-01-2013 22:28 2076415

Пакетный файл:
Код:

start "" /wait "D:\Install\7-Zip\7-Zip 9.20\7z920.exe"
Windows Script Host (VBScript):
Код:

WScript.CreateObject("WScript.Shell").Run """D:\Install\7-Zip\7-Zip 9.20\7z920.exe""", 1, True
Windows Script Host (JScript):
Код:

(new ActiveXObject("WScript.Shell")).Run('"D:\\Install\\7-Zip\\7-Zip 9.20\\7z920.exe"', 1, true);
PowerShell:
Код:

Start-Process "D:\Install\7-Zip\7-Zip 9.20\7z920.exe" -Wait
Это не единственные способы.

gora 29-01-2013 15:42 2077743

Iska, к сожалению, предложенные варианты не спасают от установщиков, которые запускают дочерние процессы инсталляии и при этом закрывают основной процесс до завершения дочерних. :(

Iska 29-01-2013 18:01 2077868

gora, конечно. Предложенный выше способ годится только для установщика, который «держит» дочерние процессы от начала и до конца инсталляции. В прочих случаях придётся рассматривать каждый конкретный из них отдельно.

shao 31-01-2013 00:06 2078934

Цитата:

Цитата gora
установщиков, которые запускают дочерние процессы инсталляии и при этом закрывают основной процесс до завершения дочерних. »

А , как вариант - перепаковывать "под себя" эти программы ?
Хотя не факт , что со всеми можно такое сотворить... Увы..

MKN 31-01-2013 09:35 2079097

Цитата:

Цитата gora
предложенные варианты не спасают от установщиков, которые запускают дочерние процессы инсталляии и при этом закрывают основной процесс до завершения дочерних. »

Достаточно знать ВСЕ возникающие при установке процессы, что не сложно выявить, и контролировать завершение ВСЕХ этих процессов, после чего запускать установку очередного ПО. Механизм реализации не имеет значения.
Но т.к. polsok, ничего не конкретизировал (может у него и в помине нет "многопроцессного" ПО ), то можно советовать лишь общий алгоритм действий.

Можно ещё извратиться, запуская "видимую" автоустановку ПО (что возможно почти всегда) и контролировать сообщение окончания установки, типа "Установка завершена" и т.п. , и после закрытия оного, запускать установку следующей программы. Такие игрушки успешно реализуются в AutoIt и иже с ним...


Время: 11:52.

Время: 11:52.
© OSzone.net 2001-