Войти

Показать полную графическую версию : [Архив - Часть 1.2] AutoIt скрипты


Страниц : 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Sanja Alone
14-03-2006, 07:33
nsergeip
скрипт по установке remote administrator, а вот с регистрацией ты не постаралсяПостарался... Прочти комментарий к переменной $dependonsn. Подобным образом, я "не постарался" и в скрипте для CDCheck 3.1.10.0 (http://sanjaalone.h15.ru/files/autoit-cdcheck.zip) (переменная $encodedserial). Реестровый способ регистрации этих приложений проще и не требует их запуска.

вываливается окно у кот. нет названия, что с этим делать незнаю, мож накидаешь скрипт доконца?Я на днях посмотрю, и, возможно, добавлю в скрипт и стандартный способ регистрации, хотя он и неудобен, imho.


kralex
DrWeb 4.33 так никто и не победил до конца?В каком смысле? Ну не ставится он тихо, но нетихо :) - без проблем (скрипт для автоуст. Dr.Web 4.33 (http://sanjaalone.h15.ru/files/autoit-drweb.zip)).
поиздеваться над разрешением экранаЭто вполне возможно: через меню "Свойства: Экран" (RunDll32.exe shell32.dll,Control_RunDLL desk.cpl,,3) или через реестр (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles). Оба способа не шибко удобны, т.к. в первом нужно будет пересовывать ползунок (trackbar) для изменения разрешения, а второй потребует перезагрузки.

как прописать reboot с заходом в режим защиты от сбоев
bootcfg.exe /raw "/safeboot:minimal" /a /id 1
shutdown.exe -r -t 0 -fВ первой команде /id 1 - 1-й элемент списка загрузки файла boot.ini. Если на компе несколько ОС, то можно не туда дописать параметр. Поэтому, лучше воспользоваться ф-циями работы с ini-файлами самого АвтоИт-а - так точно не ошибешься.
и автоматом активировать некоторые действияНу, это уже от твоей фантазии зависит :) Только не забудь восстановить нормальный режим загрузки, удалив /safeboot:minimal из boot.ini, а то комп так и будет постоянно в safe-mode грузиться :)


Tanis
не появляется индикатор установки и заключительное окно.Применительно к msi, это определяется ключами /q (детальнее см. msiexec /?):
/q[n|b|r|f]
Выбор уровня интерфейса пользователя
n - Без интерфейса
b - Основной интерфейс
r - Сокращенный интерфейс
f - Полный интерфейс (по умолчанию)


неприятность происходит с программами устанавлеваемыми из msi пакетов.Ну и как тебе помочь, ты даже строки запуска не привел. А при таких исходных условиях, как любят говорить в fido, - "Телепаты в отпуске" :) Хотя, XXXler в данном сл. прав - для msi лучше использовать файлы трансформации mst. Только нужно найти нормальный редактор для удобного создания/редактирования таких файлов - Orca (можно взять на http://www.wasm.ru) плоховат в этом отношении.

nsergeip
14-03-2006, 08:51
кто знает как при помощи реестра изменить текущий часовой пояс в windows. по умолчанию стоит москва, а мне надо екатеринбург? или мож есть какой другой способ?

Sanja Alone
15-03-2006, 01:55
nsergeip
Доделал скрипт для Radmin 2.2 (http://sanjaalone.h15.ru/files/autoit-radmin.zip) (добавил регистрацию стандартным методом + все действия теперь определяются переменными в секции Global).

kralex
15-03-2006, 11:38
Ну, это уже от твоей фантазии зависит Только не забудь восстановить нормальный режим загрузки, удалив /safeboot:minimal из boot.ini, а то комп так и будет постоянно в safe-mode грузиться
Все сделал, спасибо за код bootcfg.exe /raw "/safeboot:minimal" /a /id 1.
С восстановлением нормального режима пришлось повозиться (плохо когда мало знаний). Так и не смог найти команду после действий в Safe mode, чтобы винда "ребуталась" в нормальном режиме. пришлось прописать AutoIt-ом скриптик замены файла boot.ini - safe mode на boot.ini -normal. Дополнительно слепить пришлось SFX архив с указанием абсолютного пути. Но все равно, огромное спасибо Sanja Alone, свою проблему я решил.

Vadikan
15-03-2006, 11:58
nsergeipкто знает как при помощи реестра изменить текущий часовой пояс в windows. по умолчанию стоит москва, а мне надо екатеринбург? или мож есть какой другой способ? Твики реестра прикреплены в соседнем форуме HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones

nsergeip
15-03-2006, 14:15
Vadikan
Твики реестра прикреплены в соседнем форуме
там я уже читал, написано там немного не про то что я спрашивал, по ветке
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones можно поменять лишь название определенного часового пояса, а мне нужно изменить не название, а сам часовой пояс!!!

Sanja Alone
16-03-2006, 03:33
kralex
Так и не смог найти команду после действий в Safe mode, чтобы винда "ребуталась" в нормальном режимеИ неудивительно - с пом. bootcfg.exe нельзя удалить параметр, внесенный в режиме /raw. Поэтому я и сказал, что лучше все сделать с пом. АвтоИт (используя ф-ции работы с ini-файлами).

Дополнительно слепить пришлось SFX архив с указанием абсолютного путиА это еще зачем? Чем тебя не устраивает переменная %systemdrive% (из АвтоИт скрипта к ней можно достучаться с пом. EnvGet("systemdrive"))?

Tanis
16-03-2006, 16:05
Sanja Alone
Пакеты MSI я cтавлю такой командой
Run ( 'msiexec /i "'&$file&'" /norestart')
Я поразбирался, все было связано с библиотекой msi.dll. Проблемы начинались с версией 3.1.4000.2457 пришлось заменить на 3.1.4000.2435. Сейчас вроде все нормально. Еще возник вопрос : Можно ли с помощью AutoIt выставить права на ветку реестра, если нет то как это можно сделать?

Sanja Alone
17-03-2006, 04:21
Tanis
Run ( 'msiexec /i "'&$file&'" /norestart')
Одобряю, но с одной оговоркой: $filename = '\filename.msi'
$file = @ScriptDir & $filenameТ.е., переменная $file должна содержать полный путь, а не только filename.msi (если использовать откомпилированный скрипт, то "И так сойдет..." :) /цитата с мультика о зайце-"мастере"/ ).
P.S. У меня тоже версия 3.1.4000.2435, но не думаю, что это имеет особое значение.

Можно ли с помощью AutoIt выставить права на ветку реестраС пом. средств АвтоИт никак, а какой MS-утилкой это сделать я не знаю (мне известен только ручной способ - regedit -> "Разрешения"), увы :(

amel27
25-03-2006, 11:48
Можно ли с помощью AutoIt выставить права на ветку реестраС пом. средств АвтоИт никак, а какой MS-утилкой это сделать я не знаю (мне известен только ручной способ - regedit -> "Разрешения"), увы 1. В оснастке MMC "Шаблоны безопасности" создать шаблон с нужными правами к реестру и сохранить в INF файле.
2. Применить шаблон к системе можно следующей командой (пример):
secedit /configure /cfg rights.inf /db %TEMP%\rights.sdbP.S. Следует иметь ввиду что права назначаются не по имени а по SID. Поэтому для тиражирования шаблонов по другим компам нужно использовать только учетные записи с предопределенными SID, например Users (S-1-5-32-545), Administrators (S-1-5-32-544) и т.д.

Sergio12305
27-03-2006, 23:12
У меня вопрос по AutoIt. Как скомпилировать скрипт, который будет включать в себя *.exe , *.mp3 , *.jpg , и т.д. (все в одном exe-файле). Функция "Fileinstall" добавляет любые файлы к сценарию. А как запустить их внутри сценария ? Заранее спасибо.

Sanja Alone
28-03-2006, 02:53
Sergio12305
Как скомпилировать скрипт, который будет включать в себя *.exe , *.mp3 , *.jpg , и т.д.
Обычным способом. Все файлы, указанные в параметрах source ф-ции FileInstall ( "source", "dest" [, flag] ) будут автоматически включены в откомпилированный скрипт.

А как запустить их внутри сценария ?Никак. Считай эту ф-цию аналогом sfx-архива. Т.е., сначала включенные файлы "разархивируются" в указанные в параметрах dest места, а уже затем их можно запускать и т.п.

shita
30-03-2006, 17:46
У меня вопрос как в автоите вызвать функцию WinApi SetSystemTime. Т.е. как ее вызвать с помощью DLLCall я знаю, а вот как правильно передать параметры чтобы поменять дату незнаю.

bogomolv
30-03-2006, 22:23
shita
Ну молодежь и дает! Как вызвать функцию WinApi SetSystemTime ... с помощью DLLCall знают, а что такое DATE из CMD - нет!

Sanja Alone
31-03-2006, 03:23
bogomolv
Привет, Сергей. Что-то давно тебя не видно было...

а что такое DATE из CMD - нет!Ну, не суди так строго. Не все ведь свое знакомство с ПК начинали с DOS-а. Да и всего знать невозможно... Мне, например, нечего сказать по WinAPI :(

shita
$date = '30.12.2006'
RunWait(@comspec & ' /c date ' & $date,'',@SW_HIDE)

bogomolv
31-03-2006, 07:16
Sanja Alone
Саня, и тебе привет.
Да я не строго! Я любя и немножко с завистью.

А вы здесь все переиначили! Я сначала не разобрался и недели три тупо заглядывал по старому адресу, удивляясь, а чего это никто не пишет...
Новая структура стала информативнее. Только общих тем все равно не будет хватать, и зря вы, модераторы, гонятете Osa-7. Не обращал внимание, как обсуждение особенностей установки программы часто перетекает в обсуждение самих установщиков и возможностей их применения?
Именно из таких обсуждений узнал об InstallRite и удобной связке InnoUnp+InnoSetup. C удовольствием опробовал их. С помощью InnoUnp+InnoSetup расковырял Download Master, а на основе InstallRite создал свой установщик DrWeb (ставится за две секунды!). На радостях накинулся на MS IntelliPoint. Но не тут-то было. InstallRite с ним справиться не может. Но даже с непобежденным IntelliPoint установка WinXP и всех программ занимает у меня теперь 15 мин 30 сек. Именно, так - с секундомером, и вылизываю теперь свои скрипты автоустановки.

shita
31-03-2006, 18:50
Sanja Alone
Спасибо, а то надоело каждый раз дату менять чтобы PL/SQL Developer запустить, время trial закончилось.
bogomolv
Да вроде не молодежь, но с этим не стыкался. А DLLCall то, что в справке нашел.

Vadikan
02-04-2006, 01:52
bogomolv
Я сначала не разобрался и недели три тупо заглядывал по старому адресу, удивляясь, а чего это никто не пишет...Так вроде в первый пост прописали большими красными буквами :)зря вы, модераторы, гонятете Osa-7Уже никто не гоняет :) Именно из таких обсуждений узнал об InstallRiteГм, а как же материалы сайта? http://oszone.net/display.php?id=2767 :)

NORIO
02-04-2006, 08:44
Привет.
Я хочу с помощью autoi it производить копирование выделенного текста(в edit полях) но не симулируя ввод с клавиатуры ctrl+c, а исползуя api windows. Хотелось бы узнать как это сделать.

NORIO
02-04-2006, 08:56
Добавлю что это нужно сделать под win 98, нужно копировать plain text и rich text.




© OSzone.net 2001-2012