Войти

Показать полную графическую версию : Перезагрузка после первой загрузки и установки через RunOnceEx


melato
27-05-2006, 16:38
Когда эту перезагрузку лучше всего выполнять? Не дав загузиться до конца системе (последним батником в RunOnceEx поставить shutdown -s & pause) или спокойно дать загрузиться, а затем уже дать команду на перезагрузку?

DmitryOlenin
28-05-2006, 03:11
melato
Это уж как вам удобно...
Я написал скрипт на AutoIt, который красиво ребутит с предупреждением.
До того ребутил стандартной виндовой функцией(в этом случае выдается страшное предупреждение, бывает, что люди пугаются).

У меня ребут идет после установки, но до загрузки раб. стола. Возможно есть смысл поставить вызов из одного батника другого, а там уже задержку и ребут. Тогда будет перезагрузка после отображения раб. стола. Это может снять некоторые проблемы.

samsobi
28-05-2006, 08:36
melato
IMHO, лучше дождаться окончания загрузки. Бывают проблемы, особенно если автоматом устанавливался новый юзер.Тогда не все для него успевает прописываться.

SAOPP
28-05-2006, 10:47
DmitryOlenin
Пробовал я AutoIt скрипт один, для ребута, не понравилось то, что он паузил систему, не давая ей таким образом на фоне все 3 минуты (именно через такое время система должна перегрузиться) что-нить делать... Может покажишь свой скрипт?

vampik
28-05-2006, 11:55
До того ребутил стандартной виндовой функцией(в этом случае выдается страшное предупреждение, бывает, что люди пугаются). Это shutdown что-ли? Там можно таймаут 0 секунд поставить и никакой пугающей таблички не будет.
У меня ребут идет после установки, но до загрузки раб. стола
Аналогично. Иначе начнутся процессы, выполняемые при первом входе в систему, и тогда уже не угадаешь момент, чтобы перезагрузить, не прибив при этом ничего важного.

melato
28-05-2006, 12:14
В общем, сейчас господствуют 2 мнения:
1) Что надо делать ребут после установки, но до загрузки, ибо потом не угадаешь, когда выключить, чтобы не прибить что-то важное
2) Что лучше дождаться окончания загрузки, поскольку "Бывают проблемы, особенно если автоматом устанавливался новый юзер.Тогда не все для него успевает прописываться."

Может, голосовалку устроим ;)

SAOPP
28-05-2006, 13:10
melato
После полной загрузки системы, я считаю, что надо именно так. У меня, первый логон это:
1. Установка приложений из runfromcd
2. Очистка и таймер на перезагрузку (3-4 мин.)
3. В то время, когда таймер спокойно себе считает, система догружает и донастраивает всё, что ей осталось сделать после первого логона, после всего, shutdown делает своё дело и перегружает винду, после, второй логон и готовая к работе ОСка :)

зы Личное ИМХО

YuriPet
28-05-2006, 15:27
DmitryOlenin
Так все таки...Может покажишь свой скрипт? :)

DmitryOlenin
28-05-2006, 15:57
vampik
Не факт, что неожиданный ребут лучше, чем табличка.
На табличке хотя бы можно написать что-то типа "don't worry" ;)

YuriPet, SAOPP
У меня скрипт несложный ;) Но он именно паузит все процессы, дабы юзер не натворил чего до финальной стадии установки (после 1го ребута Daemon Tools у меня доустанавливается).
Черевато это только некоторыми проблемами с применениями настройками рабочего стола для локального пользователя.
Но я это обошел при помощи другого скрипта, базовый вариант которого я приводил в другой теме...

Вот скрипт ребута:
BlockInput(1)
$j=50
ProgressOn("Пожалуйста, подождите...", "Финальная стадия установки.", "Через " & $j & " сек. система будет перезагружена")
For $i = 1 to 99 step 2
$j=$j-1
sleep(1000)
ProgressSet( $i, "Через " & $j & " сек. система будет перезагружена")
Next
ProgressSet(-1 , "Перезагрузка...")
Shutdown(2)
sleep(5000)

SAOPP
28-05-2006, 16:13
DmitryOlenin
Именно такой скрипт я и делал, а был он у меня на 3 минуты соответственно... Воляется где-то откомпиленный. Вопрос тогда такой, каким образом можно добиться того, что бы скрипт отключал только клавиатуру и мышь а не всю систему? :)

XXXler
28-05-2006, 17:03
DmitryOlenin, Но он именно паузит все процессы
в смысле runonce ждет его завершения? Если да, то можно ведь запустить и так:
%SystemRoot%\system32\cmd.exe /c Start Путь_и_имя_скрипта

или добавить вначале скрипта следующее:
If Not WinExists(@ScriptName&".1st") Then
Run(@ScriptFullPath)
AutoItWinSetTitle(@ScriptName&".1st")
WinWait(@ScriptName&".2nd")
Exit
Else
AutoItWinSetTitle(@ScriptName&".2nd")
EndIf

SAOPP
28-05-2006, 17:08
XXXler
Всмысле после того, как запущен откомпиленный скрипт autoit система находится "на паузе" :) а скрипт продолжает считать 180 секунд и посылает в перезагрузку, хотя ничего ещё не успело настроиться...

vampik
28-05-2006, 18:20
Не факт, что неожиданный ребут лучше, чем табличка.
Это как раз для того, чтобы
юзер не натворил чего до финальной стадии установки
Лично мне так больше нравится, и проблем ещё не было.

maugli
30-05-2006, 09:46
У меня в RunOnceEx последний батник Cleanup.cmd:
cmdow @ /HID

shutdown.exe -r -f -t 60 -c "Windows XP will now restart in 1 minute"
net user aspnet /delete
RD /S /Q %systemdrive%\install
RD /S /Q %systemdrive%\Drivers
EXIT
система загружается до конца, а затем табличка "система завершает работу, закройте работающие программы и тд....", потом ребут и все нормально.
так и должно быть, или Cleanup.cmd некорректно отрабатывает?

XXXler
30-05-2006, 10:50
maugli, все правильно, так и должно быть




© OSzone.net 2001-2012