Показать полную графическую версию : [решено] выполнение нужных файлов ПОСЛЕ установки. как?
имею 2 задачи
1) файл .vbs
2) команду powercfg /hibernate off
и то и то нормально не отрабатывается при инсталле, даже в RUNONCEEX - vbs дает косяк ошибок, а вторая команда просто не действует
В запущенном состоянии работает нормально и срабатывает должным образом.
Есть у меня файлик LINKDEL.CMD (Реаниматору привет :) )
в конце файла CMDLINES делается следующее
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Run /V "LinkDel" /D "linkdel.cmd" /f
сам файл:
cmdow @ /HID
....
тут много всего неважного сейчас, опускаю
....
reg delete HKCU\Software\Microsoft\Windows\CurrentVersion\Run /V LinkDel /f
reg import desktop.reg
taskkill /f /im explorer.exe
::пауза
ping -2 seconds -w 10 127.0.0.1 > nul
:: удаление лишних папок и файлов
IF EXIST %systemdrive%\D*.ini del %systemdrive%\D*.ini
IF EXIST %systemdrive%\msocache RD /Q /S %systemdrive%\msocache
explorer.exe
::пауза
ping -2 seconds -w 10 127.0.0.1 > nul
%SYSTEMROOT%\system32\net.vbs
%SYSTEMROOT%\system32\hib_off.cmd
del %~n0.cmd
пробовал писать и %systemroot%\system32\powercfg /hibernate off и через цмд (ка в примере предпоследняя строка). суть не меняется. не выполяется и все. почему - моя не понимать.
Подскажите, что не так?
Grunger86
16-06-2008, 17:36
в конце RUNONCEEX делается следующее
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Run /V "LinkDel" /D »
что за безграмотность?! :o
вот как надо:
REG ADD %KEY%\%i% /VE /D "LinkDel" /f
REG ADD %KEY%\%i% /V 1 /D "%CDROM%\путь_к_файлу_на_диске\linkdel.cmd" /f
SET /A i+=1
EXIT
и не забудьте в начале файла RunOnceEx.cmd добавить строки:
cmdow @ /HID
@echo off
SET CDROM=%~d0
SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
SET i=100
REG ADD %KEY% /V TITLE /D "Installing Applications" /f
это всё зачем??!! :laugh:
reg delete HKCU\Software\Microsoft\Windows\CurrentVersion\Run /V LinkDel /f »
reg import desktop.reg taskkill /f /im explorer.exe »
для импорта ключей реестра делают так:
REG ADD %KEY%\%i% /VE /D "Importing System Tweaks" /f
REG ADD %KEY%\%i% /V 1 /D "REGEDIT /S %CDROM%\путь_к_файлу_на_диске\desktop.reg" /f
SET /A i+=1
А вообще, лучше разделять файлы с твиками реестра по файлам hklm.reg и hkcu.reg, hklm.reg с содержащимися твиками для HKEY_LOCAL_MACHINE лучше прописать в секции [GuiRunOnce] файла WINNT.SIF [GuiRunOnce]
"regedit /s %systemdrive%\install\hklm.reg"[q] а hkcu.reg из cmdlines.txt - чтобы параметры применялись к профилю "Default User". [q=пример файла cmdlines.txt][COMMANDS]
"regedit /s hkcu.reg"
"RunOnceEx.cmd"
Добавление IF EXIST операторов перед удалением того или иного файла/папки тоже бессмысленно.
вот это что такое:
::пауза ping -2 seconds -w 10 127.0.0.1 > nul »
пауза с помощью пинга, первый раз такое вижу, и главное, для чего она?!
Подскажите, что не так? »
Ой, много чего не так! Во-первых, почитайте статьи сайта об автоустановке и элементарных её решениях.
И ещё, Статья про RunOnceEx (http://oszone.net/display.php?id=2762)
в RUNONCEEX.CMD это все есть. список формируется и выполняется без вопросов и проблем.
в Run, насколько я понимаю, пишется чтобы выполнились все автоустановки от всех программ и тогда обновить реестр и прочее.
Для этого выгружается эксплорер, ждется 2 секунды чтобы точно выгрузился (а не просто так 2 секунды постоять от нечего делать)
И я кажется внятно написал, что на этапе RUNONCEEX мои 2 задачи нормально НЕ ОТРАБАТЫВАЮТСЯ.
Если б я мог выполнить их там - я б наверное не создавал этот топик. уж что-что, а RUNONCEEX я перепахал вдоль и поперек.
P.S. Все что вы выделили (были бы в школе - сказал бы, что почеркали красной ручкой :) ) - работает нормально. И в реестр в Run добавляет файл, и прочее.
----
кстати, небольшая ошибка в первом посте - добавляется запись не с RUNONCEEX файла, а с другого, где больше нигде запись в реестр не идет, потому KEY и прочее не указано. Но тем не менее добавляет в run нормально и без проблем.
P.S.если вы первый раз видите паузу с помощью пинга - используйте поиск, там много такого добра :)
Vizit0r, Уточните, что вам вообще нужно? Способ как это все запустить?
угумс.
Как прописать в Автозагрузку (винда русская - насколько я понял при записи в реестр русские пути не рекомендуются настоятельно) либо как еще их выполнить...
единственное что я знаю - руками они запускаются и выполняются нормально. Суть в том, чтобы они так же выполнялись скриптом
Grunger86
16-06-2008, 18:18
И я кажется внятно написал, что на этапе RUNONCEEX мои 2 задачи нормально НЕ ОТРАБАТЫВАЮТСЯ. »
1) start /wait cscript.exe %systemroot%\system32\net.vbs
- убедитесь, что файл net.vbs лежит в каталоге \$OEM$\$$\system32 на диске
2) команду powercfg /hibernate off »
так и запустите её отсюда же, из RunOnceEx.cmd, должна работать, хотя и не ручаюсь - не использовал ни разу эту команду.
Вообще, слишком много лишних телодвижений и ненужных вещей...
1)лежит
2)ну я же не просто так копирую их в систем32. не работает оно на моменте инсталла RunOnceEx. Конкретно эта команда - отрабатывает, но не действует.
попробую через такой вариант запуска - 1)
Grunger86
16-06-2008, 18:27
Vizit0r, а что в этом vbs-файле? если параметры сети - не проще ли их применить через WINNT.SIF ?
Конкретно эта команда - отрабатывает, но не действует. »
может попробовать импортировать соответствующие ключи реестра (power settings)?
и, вообще, имхо, по дефолту в винде hibernate отключен..
Vizit0r, А если метод svcpack попробовать?
файл net.vbs вложил.
Насчет hibernate много читал форум тут, в итоге оказалось что ровно и безглючно hibernate из реестра не отключается, можно только через powercfg
svcpack же отрабатывает на какой-то там -13 минуте вроде, RunOnceEx намного позже - в самом конце - и все равно не срабатывает
Впрочем, если ничего не получится - буду пробовать так :)
Grunger86
16-06-2008, 18:37
файл net.vbs вложил. »
ну посмотрел, твик весьма интересный. показывает значок сетевого соединения в трее. возьму на заметку. как я понял, для подключения под именем "Подключение по локальной сети 2"?
он ищет оба подключения, сначала просто "подлючение по локальной сети", затем "... 2".
спасибо говорить тут (http://forum.oszone.net/post-799065-264.html)
1) start /wait cscript.exe %systemroot%\system32\net.vbs
»
так тоже не работает. почему-понять не могу...
Vizit0r, я раньше поступал немного проще, запускал самый последний нужный мне cmd-шник кинув его в "%ALLUSERSPROFILE%\\Главное меню\\Программы\\Автозагрузка" естественно, дальше он сам себя и удалял.
сейчас, чтобы проверить RunOnceEx + первый запуск - нужно каждый раз винду переставлять.
ради того, чтоб заметить, что ты там букву пропустил или еще какая-то мелочь - и опять надолго полная переустановка.
может кто знает, как готовую, полностью проинсталленую винду "попустить" до 3-его этапа - RunOnceEx - который после двух первых ребутов
ибо мне смутно припоминается, что если из system32\config снести основные файлы и заменить их резервными - то начнется установка со второго этапа - но с этого смысла особого ету, второй этап и есть самый длинный, первый длится минуту-полторы.
Подскажите, как-то же отлаживает народ эти моменты, вряд ли по пятьсот раз переставляют систему
P.S. Сделать образ не получится - нет CD-ROM'а на компе :)
fox_sly
почитайте первый пост, у меня именно так и происходит, только не в автозагруку, а в ресстр в Run...но не работает почему-то. Потому и хотелось бы чтобы выполнялось это либо с задержкой, положим, в минуту, либо после первого ребута (нежелательно, потому что для того же vbs-скрипта надо будет делать еще один ребут)
А вообще-то есть разница между автозагрузкой и Run'ом по очередности выполнения?
в конце RUNONCEEX делается следующее
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Run /V "LinkDel" /D » ЕМНИП, таким способом ключ в данный раздел реестра не добавляется. Надо через inf-файл
добавляется и отрабатывает.
если он уже есть одной строкой вставленный - зачем мне плодить файлы?
или я чего-то не так понимаю?
Vizit0r, хм, возможно я перепутал с другим ключом. REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Run /V "LinkDel" /D » Имя ключа я тут вижу, а где параметр (значение) ключа? Надо так REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v LinkDel /d Путь\LinkDel.cmd
И еще зачем так reg import desktop.reg можно ведь и так REGEDIT /S desktop.reg
можно и так и так, это равнозначно. и то и то затрет старые значения (если есть) новыми без вопросов.
Имя ключа я тут вижу, а где параметр (значение) ключа?
Хороший вопрос, сам удивился :) Заглянул в файл, оказалось что как-то недокопировал сюда
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Run /V "LinkDel" /D "linkdel.cmd" /f
вот как оно на самом деле
Grunger86
17-06-2008, 18:04
Цитата Grunger86:
1) start /wait cscript.exe %systemroot%\system32\net.vbs
»
так тоже не работает. почему-понять не могу... »
ну попробуйте тогда просто cscript.exe %systemroot%\system32\net.vbs, должно работать.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.