![]() |
Создание автоматического инсталлятора драйверов с несколькими перезагрузками
Ребята, помогите пожалуйста, у нас на форуме никто в зуб ногой не умеет создавать и править такие скрипты.
В общем предисловие. Есть пакет дров проверенных и собранных с любовью) Специфика установки подразумевает несколько перезагрузок, и есть скрипт взятый от китайцев, который устанавливает все одной установкой. Разложили в 4 папки, получилось 4 скрипта. Нужно чтобы был один главный скрипт, который запускал бы эти 4 скрипта с перезагрузками. Я не программист, примерно так себе это представляю. скрипты уже есть, их просто нужно подправить. ссылка на драйверпак 4pda файл Minimal Driver Pack Auto Install.7z буду очень признателен если кто нибудь откликнется |
Цитата:
|
при чем тут локалка, тупо разложили дрова в 4 папки, ну не ставятся они одновременно, нужны перезагрузки, нужен скрипт который делал новый скрипт в автозагрузке и потом грузил вторую, третью, четвертую папку, каждый раз после перезагрузки
ну или подхватила существующий который лежит в каждой папке с дровами, выполнила, и после перезагрузки переключилась на следующий |
Hegehog1989, первый скрипт прописывает в раздел RunOnce реестра вызов второго (с полным путём, разумеется), исполняется и перезагружает компьютер.
После перезагрузки начинает исполняться второй скрипт, который прописывает в раздел RunOnce реестра вызов третьего (с полным путём, разумеется), исполняется и перезагружает компьютер. После перезагрузки начинает исполняться третий скрипт, который прописывает в раздел RunOnce реестра вызов четвёртого (с полным путём, разумеется), исполняется и перезагружает компьютер. И т.д. Последний скрипт в RunOnce ничего не прописывает. Всё это может быть выполнено одним скриптом: как вариант, с метками перехода. При этом каждый блок, находящийся между метками, сначала в прописывает в RunOnce вызов этого же скрипта с параметром, равным метке следующего блока, типа: Код:
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v <Cледующая_метка>/t REG_SZ /d """"%0""" <Cледующая_метка>" Код:
:Reboot В последнем блоке скрипта в RunOnce ничего не пишется. Ну а в самом начале всего скрипта ставится (после команды setlocal) команда перехода на метку, например Код:
IF NOT "%1"=="" goto %1 |
Скрипт может быть и один (и так будет даже лучше), а вот вызовы указываются с параметром, по которому скрипт может судить, на каком из этапов он был вызван на исполнение, и что ему следует делать.
Update: Цитата:
|
Спасибо, будем пробовать
|
Цитата:
|
Цитата:
Может ещё подскажите один момент. Хочу в этот скрипт внести защиту "от дурака". Чаще всего пользователи кидают папку куда хотят, из-за этого и возникает большинство проблем... В скрипте использовал параметр пути "%~dp0", но смотрю в последней версии Win10 bild 1709 он перестал работать... Если не получится с скриптом, то попробую ваш способ с MInstAll Цитата:
|
Цитата:
Ну а уж скрипт должен следить за правильностью путей к тем файлам, которые он запускает — и это надо смотреть уже конкретно "по месту". И если все эти файлы находятся во вложенных по отношению к скрипту папках — не забыть прописать в нём после setlocal свою рабочую папку, путь и имя которой при [непонятных] проблемах с "%~dp0" (я надеюсь, слэша после этой переменной не стоит? Должно быть "%~dp0Команда" или "%~dp0.\Команда", а не "%~dp0\Команда ) скрипт может вытащить сам из того самого %0 — что надо делать, как и вообще определять все переменные, до команды IF NOT "%1"=="" goto %1. Все строки, что я привёл, взяты из моего личного скрипта обновлений WinXP, который начинался с нескольких независимых скриптов, вызывающих последующие по самому первому моему варианту — но с увеличение количества обновлений я задолбадся отслеживать связи и пришёл к варианту единого скрипта, который после выпуска нерасчётных обновлений WinXP этого года стал содержать 15 блоков, выполняемых последовательно с перезагрузками — и не приходится задумываться, куда класть копию этой папки с полным комплектом на старенькие машины с ХР при необходимости их обновить. А задержка в 20 секунд в метке :Reboot введена в т.ч. для того чтобы успеть при необходимости прервать перезагрузку, введя и выполнив команду "shutdown -a" :) Цитата:
|
Цитата:
Да в будущем можно конечно всё доработать, но для начало нужно чтоб хоть как-то заработало вообще :-) Так что СПАСИБО!!!! |
Привет всем.
Спасибо за помощь , всё получилось :-) Хотя пока только в черновом варианте :-) Хотел поинтересоваться у уважаемого Цитата:
Киньте свой PayPal мне в личку, с меня причитается :-) Но есть один нюанс. Вот моё содержание бат файла: Код:
@echo off Но после перезагрузки появляется циклически и пропадает окно бат файла прописанного в RunOnce... Если запускать скриптом всё идёт на отлично, так как и ожидается, а если из MInstAll - циклическое открытие и закрытие CMD до рестарта системы... Может подскажите как это исправить? |
Время: 11:37. |
Время: 11:37.
© OSzone.net 2001-