![]() |
Скрипт автоматически запускающий исталляцию программ
Всем привет, возникла проблема - как можно сделать чтоб в зависимости от необходимости установки программ, скрипт перенаправлял на установку текущей программы или на запрос установки следующей программы?
вот сам простой скрипт: Set WshShell = CreateObject("WScript.Shell") RetCode = WshShell.Run("""C:\Program Files\CCleaner\CCleaner.exe""", 1, vbTrue) RetCode = WshShell.Run("notepad", 1, vbTrue) RetCode = WshShell.Run("notepad", 1, vbTrue) Будьте так добры, помогите :) |
Мммм... что то не очень понятно, что требуется. Можно на пальцах? По порядку так сказать...
|
:) конечно!
1. необходимо установить 3 программы к примеру. Что должен делать скрипт - спрашивает в самом начале - нужно ли устанавливать Пр№1, тут - если я говорю - да, то скрипт устанавливает ее, после завершения, предлагает уст. пр №2, если я скажу нет, то сразу переходит на прогамму №2 не устанавливая 1ю и т.д. - программ много - автоматизация установок ПО :) надеюсь на понимание! И спасибо за внимание. Очень нужно просто - это все у меня есть, но на батниках и без возм выбора, а желательно. |
Так?
Код:
If (MsgBox("Установить программу XXX?", vbYesNo) = vbOK) Then |
ну как бы да, надеюсь я правильно понял - а если я нажму нет, то тогда как повед скрипт?
поведет скрипт, ведь он должен автоматом перекинуться на установку программы yyy тоесть как я понимаю речь идет о команде Else ' Объявляем переменные Dim WshShell,theNotepad,Res,Text,Title ' Создаем объект WshShell Set WshShell = WScript.CreateObject("WScript.Shell") Text="Запуск установки программного обеспечения" & vbCrLf & "Установка Хранителя Паролей " Title="Установка" ' Выводим диалоговое окно на экран Res=WshShell.Popup(Text,0,Title,vbOkCancel) ' Определяем, какая из кнопок была нажата в диалоговом окне If (Res=vbOk) Then Set theNotepad = WshShell.Exec("C:\Program Files\KeePass-1.08\KeePass.exe") Else ... вот тут надо чтоб снова вышло окно запроса и вновь выбрать да или нет, но уже для следующей программы а потом в конце эта процедура WScript.Sleep 100 только здесь выполнено по другому - просто для объяснения. |
Если ты нажмешь Отмена, программа перейдет к выполнению следующего оператора.
В примере, который указал ты, если ты нажмешь Да, и установится первая программа, то после этого запроса на установку второй программмы не будет. |
в том то и дело, а мне надо чтоб все программы автоматически предлагались к выполнению
|
Ну и?
If () Then ............ End If И так по порядку для каждой программы. А еще лучше функцию напиши. Будет грамотнее. |
Вложений: 1
вот алгоритм
|
Option Explicit
Dim WshShell,theNotepad,Res,Text,Title,RetCode Set WshShell = WScript.CreateObject("WScript.Shell") Text="Хранитель паролей" Title="Установка" Res=WshShell.Popup(Text,0,Title,vbOkCancel) If (Res=vbOk) Then RetCode = WshShell.Run("""C:\Program Files\KeePass-1.08\KeePass.exe""", 1, vbTrue) Else Text="RegShot" Title="Установка" Res=WshShell.Popup(Text,0,Title,vbOkCancel) RetCode = WshShell.Run("""C:\Program Files\regshot181_src_bin\regshot.exe""", 1, vbTrue) WScript.Sleep 100 End If но как сделать чтоб если я выбираю Yes, то после установки, автоматом выходило окно с вопросом и т.д. ..с вопросом на установку след программы |
Код:
Option Explicit Но я бы сделал так: Код:
'------------------------ |
:) вообще спасибо! Но есть пару моментов - когда я нажмаю ок при первой программе, то после запука, недожидаясь завершения первой запускается 2ая.
2ое - не мог бы ты разъяснить чуток что описывается в скрипте? Буду очень благодарен. |
Только что попробовал. Программы нормально запускаются по порядку, проверь скрипт.
По поводу скрипта. Код:
Dim setup_dic Код:
Dim prog, progs Код:
For Each prog In progs |
:) отличный скрипт, так на самом деле станет еще проще перебирать все программы с помощью словаря!
Респект! Я еще с ним повожусь, потом поделюсь впечатлениеми подробнее. Спасибо. |
Время: 00:09. |
Время: 00:09.
© OSzone.net 2001-