PDA

Показать полную графическую версию : [решено] Проблема с dll


teverus
11-08-2009, 21:18
Ситуация очень интересная. Есть инсталяха Windows Vista Sidebar. Для успешной инсталяции сначала нужно установить Alky for Application. Я написал скрипты, которые автоматически ставят и Alky и Sidebar по отдельности, но когда я пытаюсь их соединить в одном скрипте (т.е. чтобы сначала автоматически ставились Alky, а потом Sidebar) последний выдает ошибку, не нет vadvapi32.dll, поэтому ставиться, мол, не могу. Хотя, этот dll спокойненько лежит себе в папке Alky.
Это у меня руки кривые или тут какое-то ограничение?
Помогите, пожалуйста, а то я с ума сойдууууу!

Nik_rus
11-08-2009, 21:41
Мы не экстрасенсы
Приведи скрипт.

teverus
11-08-2009, 21:48
;Сначала ставим Extras
Run("1Extras.exe")
WinWaitActive("Windows Sidebar")
Send("{ENTER}")
WinWaitActive ("Microsoft Visual C++ 2005 Redistributable")
WinWaitClose ("Microsoft Visual C++ 2005 Redistributable")

;Теперь ставим Alky for Application
ShellExecute("2Alky for Application.msi")
WinWaitActive("Alky for Applications (Windows XP) Setup")
Send("{ENTER}")
WinWaitActive("Alky for Applications (Windows XP) Setup", "SHORT GRAPHICAL VERSION")
Send("{SPACE}")
Send("{ENTER}")
WinWaitActive("Alky for Applications (Windows XP) Setup", "Destination Folder")
Send("{ENTER}")
WinWaitActive("Alky for Applications (Windows XP) Setup", "Product Key")
Send("{ENTER}")
WinWaitActive("Alky for Applications (Windows XP) Setup", "Ready to install")
Send("{ENTER}")
WinWaitActive("Alky for Applications (Windows XP) Setup", "Complete!")
Send("{ENTER}")

;Сейчас поставим Sidebar
Run("3WindowsVistaSidebar.exe")
WinWaitActive("Windows Sidebar 6.0 Setup")
Send("{ENTER}")
WinWaitActive("Windows Sidebar 6.0 Setup","Press Page Down to see the rest")
Send("{ENTER}")
WinWaitActive("Windows Sidebar 6.0 Setup","Check the components you want to install")
Send("{ENTER}")
WinWaitActive("Windows Sidebar 6.0 Setup","Select some final options")
Send("{ENTER}")
WinWaitActive("Windows Sidebar 6.0 Setup","Completing installation...")
Send("{ENTER}")
WinWaitActive("Windows Sidebar 6.0 Setup","Click Finish to close this wizard.")
Send("{SPACE}")
Send("{ENTER}")

Nik_rus
11-08-2009, 21:55
1.Весь код в тег code !
2.Думаю тут все из-за того, что ты не "ждешь" убирания окна :)
т.е. код примерно такой:
;Сначала ставим Extras
Run("1Extras.exe")
WinWaitActive("Windows Sidebar")
Send("{ENTER}")
WinWaitActive ("Microsoft Visual C++ 2005 Redistributable")
WinWaitClose ("Microsoft Visual C++ 2005 Redistributable")

;Теперь ставим Alky for Application
ShellExecute("2Alky for Application.msi")
WinWaitActive("Alky for Applications (Windows XP) Setup")
Send("{ENTER}")
WinWaitActive("Alky for Applications (Windows XP) Setup", "SHORT GRAPHICAL VERSION")
Send("{SPACE}")
Send("{ENTER}")
WinWaitActive("Alky for Applications (Windows XP) Setup", "Destination Folder")
Send("{ENTER}")
WinWaitActive("Alky for Applications (Windows XP) Setup", "Product Key")
Send("{ENTER}")
WinWaitActive("Alky for Applications (Windows XP) Setup", "Ready to install")
Send("{ENTER}")
WinWaitActive("Alky for Applications (Windows XP) Setup", "Complete!")
Send("{ENTER}")
;Ставим строчку выжидания закрытия
WinWaitClose("Alky for Applications (Windows XP) Setup")

;Сейчас поставим Sidebar
Run("3WindowsVistaSidebar.exe")
WinWaitActive("Windows Sidebar 6.0 Setup")
Send("{ENTER}")
WinWaitActive("Windows Sidebar 6.0 Setup","Press Page Down to see the rest")
Send("{ENTER}")
WinWaitActive("Windows Sidebar 6.0 Setup","Check the components you want to install")
Send("{ENTER}")
WinWaitActive("Windows Sidebar 6.0 Setup","Select some final options")
Send("{ENTER}")
WinWaitActive("Windows Sidebar 6.0 Setup","Completing installation...")
Send("{ENTER}")
WinWaitActive("Windows Sidebar 6.0 Setup","Click Finish to close this wizard.")
Send("{SPACE}")
Send("{ENTER}")

Собсно, мне кажется именно поэтому (доли секунд, однако все реально...)
Врядли правда, хотя скрипт вроде правильный (не будем учитывать Product key :) )

Еще посоветую команду Sleep, после установки Alky, секунд 5-10

teverus
11-08-2009, 22:07
Спасибо за советы, но лажа все та же... :(
Хочешь,скину тебе файлы, попробуешь? (Если, конечно, есть время)

Та пробовал я.... Думал уже и о перезагрузке, но это все не то...
Может, msi как-то хакнуть, но потом собирать тяжело...

teverus
12-08-2009, 00:17
Спасибо огромное,Nik_rus!
Руки у меня действительно кривые, а Sleep на 10 сек поставить не хватило терпения... Как говорил бобер Дэг: "Problem... solved!"
Мега респект!!!




© OSzone.net 2001-2012