Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   Перезагрузка после первой загрузки и установки через RunOnceEx (http://forum.oszone.net/showthread.php?t=66308)

melato 27-05-2006 16:38 443109

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

DmitryOlenin 28-05-2006 03:11 443314

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

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

samsobi 28-05-2006 08:36 443342

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

SAOPP 28-05-2006 10:47 443363

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

vampik 28-05-2006 11:55 443378

Цитата:

До того ребутил стандартной виндовой функцией(в этом случае выдается страшное предупреждение, бывает, что люди пугаются).
Это shutdown что-ли? Там можно таймаут 0 секунд поставить и никакой пугающей таблички не будет.
Цитата:

У меня ребут идет после установки, но до загрузки раб. стола
Аналогично. Иначе начнутся процессы, выполняемые при первом входе в систему, и тогда уже не угадаешь момент, чтобы перезагрузить, не прибив при этом ничего важного.

melato 28-05-2006 12:14 443385

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

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

SAOPP 28-05-2006 13:10 443400

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

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

YuriPet 28-05-2006 15:27 443430

DmitryOlenin
Так все таки...
Цитата:

Цитата SAOPP
Может покажишь свой скрипт?

:)

DmitryOlenin 28-05-2006 15:57 443441

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 443444

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

XXXler 28-05-2006 17:03 443455

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 443458

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

vampik 28-05-2006 18:20 443469

Цитата:

Не факт, что неожиданный ребут лучше, чем табличка.
Это как раз для того, чтобы
Цитата:

юзер не натворил чего до финальной стадии установки
Лично мне так больше нравится, и проблем ещё не было.

maugli 30-05-2006 09:46 444078

У меня в 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 444099

maugli, все правильно, так и должно быть


Время: 17:23.

Время: 17:23.
© OSzone.net 2001-