spooll
Кажется нашёл твою проблему(ы)...
У тебя видимо в настройках автоматом подставляется
Организация:, если там пусто (у тех у кого этого не происходит), то кнопка Далее не активна, отсюда могут быть многие зависания.
Поэтому нужно проверять это дело...
Далее, окно с подтверждением этой информации, и многие другие окна почему то требует активирования чтобы нормально нажать кнопку..
У тебя ожидается окно "Создание нового каталога", как ты уверен что оно появится? а вдруг каталог уже существует?
С такими скриптами нужно стараться учитывать все варианты
Вот что у меня получилось:
Код:

Opt("RunErrorsFatal", 0)
Opt("WinTitleMatchMode", -4)
$RegRead1CPath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\1C\1Cv7\7.7\1С:Предприятие для SQL", "1CPath")
If FileExists($RegRead1CPath) Then Exit
$1c_InstallPath = "\\192.168.11.198\Distrib\1s_install"
BlockInput(1)
Run($1c_InstallPath & "\B770023\Disk1\setup.exe")
If @error Then Quit()
WinWait("Добро пожаловать", "Добро пожаловать в программу установки 1С:Предприятия.")
ControlClick("Добро пожаловать", "Добро пожаловать в программу установки 1С:Предприятия.", "Button1")
WinWait("Выбор варианта установки", "Выберите вариант установки программы 1С:Предприятие.")
ControlClick("Выбор варианта установки", "Выберите вариант установки программы 1С:Предприятие.", "Button6")
$UserInfoInputText = "Введите Ваше имя и название Вашей организации."
WinWait("Информация о пользователе", $UserInfoInputText)
$GetText_1 = ControlGetText("Информация о пользователе", $UserInfoInputText, "Edit1")
$GetText_2 = ControlGetText("Информация о пользователе", $UserInfoInputText, "Edit2")
If $GetText_1 = "" Then ControlSetText("Информация о пользователе", $UserInfoInputText, "Edit1", @UserName)
If $GetText_2 = "" Then ControlSetText("Информация о пользователе", $UserInfoInputText, "Edit2", @UserName)
ControlClick("Информация о пользователе", "Введите Ваше имя и название", "Button2")
WinWait("Информация о пользователе", "Верна ли информация для регистрации?")
WinActivate("Информация о пользователе", "Верна ли информация для регистрации?")
ControlClick("Информация о пользователе", "Верна ли информация для регистрации?", "Button1")
WinWait("Выбор каталога для установки", "Программа установки поместит 1С:Предприятие в выбранный каталог.")
$GetPathText = ControlGetText("Выбор каталога для установки", _
"Программа установки поместит 1С:Предприятие в выбранный каталог.", "Static2")
WinActivate("Выбор каталога для установки", "Программа установки поместит 1С:Предприятие в выбранный каталог.")
ControlClick("Выбор каталога для установки", "Программа установки поместит 1С:Предприятие в выбранный каталог.", "Button1")
If Not FileExists($GetPathText) Then
WinWait("Создание нового каталога", "Вы ввели следующее имя каталога:", 5)
If WinExists("Создание нового каталога", "Вы ввели следующее имя каталога:") Then
WinActivate("Создание нового каталога", "Вы ввели следующее имя каталога:")
ControlClick("Создание нового каталога", "", "Button1")
EndIf
EndIf
WinWait("Выбор программной группы", "Выберите из существующих или")
WinActivate("Выбор программной группы", "Выберите из существующих или")
ControlClick("Выбор программной группы", "Выберите из существующих или", "Button2")
WinWait("Установка 1С:Предприятия", "Программа установки скопировала файлы")
WinActivate("Установка 1С:Предприятия", "Программа установки скопировала файлы")
ControlClick("Установка 1С:Предприятия", "Программа установки скопировала файлы", "Button2")
WinWait("Установка 1С:Предприятия", "Установка программы 1С:Предприятие успешно завершена.")
WinActivate("Установка 1С:Предприятия", "Установка программы 1С:Предприятие успешно завершена.")
ControlClick("Установка 1С:Предприятия", "Установка программы 1С:Предприятие успешно завершена.", "Button1")
Run($1c_InstallPath & "\B770025\Disk1\setup.exe")
If @error Then Quit()
WinWait("Добро пожаловать", "Добро пожаловать в программу установки")
WinActivate("Добро пожаловать", "Добро пожаловать в программу установки")
ControlClick("Добро пожаловать", "Добро пожаловать в программу установки", "Button1")
WinWait("Список установленных программ", "Из списка найденных на данном компьютере")
ControlClick("Список установленных программ", "Из списка найденных на данном компьютере", "Button4")
WinWait("Обновление 1С:Предприятия", "При работе с сетевыми версиями")
WinActivate("Обновление 1С:Предприятия", "При работе с сетевыми версиями")
ControlClick("Обновление 1С:Предприятия", "При работе с сетевыми версиями", "Button2")
WinWait("Обновление 1С:Предприятия", "Обновление программы 1С")
WinActivate("Обновление 1С:Предприятия", "Обновление программы 1С")
ControlClick("Обновление 1С:Предприятия", "Обновление программы 1С", "Button1")
BlockInput(0)
Run($1c_InstallPath & "\B770025\1C_patch_7725\1Cv77SQL_025_Patch.exe")
If @error Then Quit()
$PathTitle = "regexp=Патч 1С:Предприятие [0-9]"
WinWait($PathTitle, "Вы запустили программу")
ControlClick($PathTitle, "Вы запустили программу", "Button1")
WinWait("PatchWise Updater", "ОК")
WinActivate("PatchWise Updater", "ОК")
ControlClick("PatchWise Updater", "ОК", "Button1")
WinWait($PathTitle, "&Обновить")
ControlClick($PathTitle, "&Обновить", "Button2")
Run($1c_InstallPath & "\link.cmd")
Quit()
Func Quit()
BlockInput(0)
Exit
EndFunc
Maza Faka,
Если я правильно понял, то в этом случае можно вообще не трогать массив:
Код:

$var = DriveGetDrive("All")
MsgBox(0, "", $var[0])
For $i = 2 To $var[0]
MsgBox(64, "", $var[$i])
Next