Что нового

Автоустановщик при запуске через GUI перестает разпознавать путь к файлу.msi

Montekristo

Новичок
Сообщения
21
Репутация
0
Здравствуйте уважаемые.
Я написал автоустановщик на Skyp
Код:
$sPathToProgam = "Standart v1.5\SkypeSetup.msi"
$sMainWindowName = "Skype™ 5.10 Setup"
; Код программы
;Установка программы
ShellExecute($sPathToProgam)
$hWinSkyp= WinGetHandle($sMainWindowName)
WinWait($hWinSkyp, "The Setup Wizard will install Skype™ 5.10 on your computer.")
SEND ("{ENTER}")
WinWait($hWinSkyp, "End User License Agreement")
send("{space}")
send("{enter}")
WinWait($hWinSkyp, "Destination Folder")
send("{enter}")
WinWait($hWinSkyp, "Ready to install Skype™ 5.10")
send("{enter}")
WinWait($hWinSkyp, "Completed the Skype™ 5.10 Setup Wizard")
send("{enter}")

Он все отлично отрабатывает сам по себе и не каких проблем не вызывает. Но так как мне необходимо было устанавливать еще и другой софт я создал к нему GUI вот тут то проблемы и начались. Когда отрабатывается вот эта функция
Код:
EndIf
		If BitAND(GUICtrlRead($Checkbox8),$GUI_CHECKED)=$GUI_CHECKED Then
		Run("INSTALL\skype.exe")

Виндовс начинает ругаться на то что не может найти (Standart v1.5\SkypeSetup.msi) вот этот вот путь. Хотя если запустить skyp.exe(это так называется мой автоустановщик) он отлично и без проблем отрабатывает свои функции. Сама функция в GUI отрабатывается но после того как она отработала Виндовс перестает находить путь, а если написать полный путь(с указанием диска и папок где располагается фаил установки то все летит на ура) но мне это не очень подходит.
За ранние прошу извинение так как не совсем понимаю в какую тематику идти с этим вопросом. :smile:
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Montekristo сказал(а):
не может найти (Standart v1.5\SkypeSetup.msi) вот этот вот путь.
Montekristo сказал(а):
Код:
$sPathToProgam = "Standart v1.5\SkypeSetup.msi"
Если это весь путь то AutoIt находит его из-за того что текущий рабочий каталог нах-ся рядом с файлом со скриптом, а после запусков FileOpenDialog и тому подобные функции они изменяют текущий рабочий каталог и скрипт естественно не находит файл.
Решение: укажите в переменную более правильный путь с использованием макросов или полного пути
 
Автор
M

Montekristo

Новичок
Сообщения
21
Репутация
0
Я понимаю. Но для других программ ведь все отрабатывается хорошо и почему-то только те установщики которые .msi вызывают такие проблемы. И да ввод полного пути решает проблему но мне это не подходит. А на счет макросов подскажите где почитать. :smile:
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Макросы
Вам наверное подойдет вот этот макрос:
Код:
$sPathToProgam=@ScriptDir&"\Standart v1.5\SkypeSetup.msi"
 
Верх