Показать полную графическую версию : [статья] SetupComplete.cmd
В папке Sourcies вашего дистрибутива создать следующую структуру папок »
Всё это есть, в том-то и фокус! Уже крыша едет... :dont-know
Lennyvets
30-01-2012, 13:32
Leon_K, может в буковках где-то ошибка - скопируйте и выполните в командной строке (путь свой укажите):
dir /b /s D:\Seven\dvd\sources\$oem$\$$\setup\scripts\setupcomplete.cmd
Должно выдать:
D:\Seven\dvd\sources\$oem$\$$\setup\scripts\setupcomplete.cmd
Leon_K, может в буковках где-то ошибка - скопируйте и выполните в командной строке (путь свой укажите): »
Всё так и выдаёт (с поправкой на пути, у меня - D:\w7, всё остальное аналогично)
Понимаете, какая чтука - у меня после установки Windows, в папке setup нет вышеозначенной структуры вообще. Никакой. Т.е. если бы я где-то и ошибся с путями, то оно, по крайней мере, должно было создать структуру с этими "ложными путями". Понятное дело, SetupComplete.cmd не выполнился бы, но структура-то быть должна!
Блинн, 8 лет ковырялся с этими $oem$ (Windows XP) и никогда таких проблем не было...
А с этой 7-кой прям заколдованный круг какой-то!
Leon_K, что вы мучаетесь?
1. Подключите образ.
2. Положите файл в \Windows\Setup\Scripts (создайте нбх папки).
3. Отключите образ с сохранением.
Leon_K, что вы мучаетесь? »
Доктор: Страдаете извращениями?
Пациент: Что вы Доктор, я ими наслаждаюсь! ;)
А теперь "немножко" по-теме. Насколько я понимаю, есть несколько вариантов. Я использую вариант добавления файлов в структуру дистрибутива, скопированного на мой жёсткий диск.
Вы предлагаете использовать другой вариант, с добавлением непосредственно в .wim-файл. Получается, первый способ нежизнеспособен?
Просто мне кажется (возможно, дело привычки) несколько неудобным постоянно "лазить" в .wim-образ. Возможно, это от моего неумения работать с ними. Попробую разобраться, потом отпишусь по-подробнее.
На самом деле, есть ещё одна причина: когда у меня есть структура на диске, все файлы/изменения видны наглядно. А в случае .wim-образа, чтобы увидеть эти изменения, его надо ещё и подключить. Не очень удобно. Хотя у Far'а есть плагин, через которые эти файлы/изменения можно увидеть...
Получается, первый способ нежизнеспособен? »
Жизнеспособен, но у вас проблема в том, что не копируются ОЕМ-папки, а не в том, что не копируется конкретный файл.
Жизнеспособен, но у вас проблема в том, что не копируются ОЕМ-папки, а не в том, что не копируется конкретный файл. »
В таком случае, вопрос: Почему они (ОЕМ-папки) не копируются?
В таком случае, вопрос: Почему они (ОЕМ-папки) не копируются? »
Недостаточно информации для первоначальной диагностики проблемы (http://www.outsidethebox.ms/13148/#_Toc314611151)
Наверное, надо начать со скриншота вашего дистрибутива, а точнее - его дерева папок в области переходов проводника, полностью открытого вплоть до последней ОЕМ-папки.
Также проверьте п. 3 и 4 http://www.oszone.net/2774#q1
Наверное, надо начать со скриншота вашего дистрибутива, а точнее - его дерева папок в области переходов проводника, полностью открытого вплоть до последней ОЕМ-папки. »
Я приводил эту структуру, пускай и словесно. Хорошо, вот скриншот:
http://ib2.keep4u.ru/s/2012/01/31/1c/1c34e49b99c5bb326cd64ee5efbeeb58.jpg (http://keep4u.ru/full/1c34e49b99c5bb326cd64ee5efbeeb58.html)
Также проверьте п. 3 и 4 http://www.oszone.net/2774#q1 »
Кирилицы там нет. А насчёт 4-го пункта я уже отвечал на этот вопрос ранее.
Продолжение увлекательной истории :).
Я ведь не спроста хотел сначало длбить добавление файлов через структуру $OEM$ - и удобнее это (мне, по-крайней мере), и привычнее. И - быстрее! Пока там wim-образ подмонтируется, пока размонтируется (с сохранением) - времени-то уходит. Да и нафига нужно это двойное "образирование" - потом ведь ещё и записывать это надо... То ли дело с ХР - есть готовый проект (пользовался Нерой), добавил/поправил файлы и пиши сразу!
Ладно, отвлёкся. Взял я, значица, Install.wim и подмонтировал - всё согласно умным статьям. Добавил файлы нужные туда, размонтировал (сохранил). Посмотрел (FAR'ом, писал уже об этом ранее) - есть файлы унутри. Создал образ диска (посредством CDImage), стал записывать. Записал. Запустил установку. Win 7 ставилась ставилась, да поставилась. И... Ничего! Как не было в %WinDir%\Setup, так и нету. Такие вот дела.
Leon_K, так не бывает... Точнее бывает, только если подключить WIM с одним изданием, а устанавливать другое.
Хорошо, вот скриншот »
Спасибо, что сделали одолжение. Судя по структуре папок, у вас там явно не оригинальный дистрибутив - что-то намешано. Надо исключать все сторонние факторы.
так не бывает... Точнее бывает, только если подключить WIM с одним изданием, а устанавливать другое. »
Э... Это вы про индексы что ли? Тут есть один вопрос: посмотрел я через /инфо индекс, подключил образ. Изменил что мне надо, сохранил. Получил в результате болт (я описывал этот процесс выше).
Взял, удалил всё что было в папке (распакованный дистрибутив), открыл оригинальный MSDN-образ, распаковал его в ту же папку (UltraISO). Запускаю "подмонтировать WIM" - не получается, типа, индекс "не тот". Менял я эти индексы - всё равно не получается. Раньше же выходило! Это получается, пока дистрибутив не "обработать" AIK (оно там тоже что-то "пересобирает") ничего и не выйдет? Что-то я упоминания об этом раньше не встречал...
Судя по структуре папок, у вас там явно не оригинальный дистрибутив - что-то намешано. »
Дистрибутив - оригинальный, добавлены только попки с устанавливаемым софтом.
Надо исключать все сторонние факторы. »
ОК. Попробую ради эксперимента; не думаю, что это что-либо изменит.
Проблему удалось решить - "укосячил" Install.wim. Взял распаковал оригинальный образ (писал об этом выше), открыл Install.wim посредством WSIM (этого в предыдущий раз не делал), выбрал нужную мне редакцию. Оно (WSIM) что-то там долго (очень долго!) индексировало, потом открыло. Открыл файл ответов, поправил чуток ("косметика", указал нужное мне разрешение экрана - не думаю, что это на что-либо повлияло), сохранил ВСЁ. Я про то, WSIM тоже что-то в Install.wim вносит - х.з. что.
След. этапом решил добавить нужные мне файлы (SetupComplete.cmd, .vbs-ник, запускаемый из SetupComplete.cmd) в Install.wim. Определил индекс нужной мне редакции (он поменялся, кстати), подключил образ Install.wim. Добавил файлы в папку Setup, размонтировал (сохранил). Собрал образ (в очередной раз, вот мутотень-то!), стал тестить.
В общем, результат налицо - папка %WinDir%\Setup\Scripts с нужными мне скриптами появилась, ура! А вот результата действия этого самого SetupComplete.cmd я не наблюдаю :(.
Сделал немного по-другому: "вынул" эти папки из Install.wim и разместил в \sources дистрибутива, как и было раньше. Заодно несколько модифицировал SetupComplete.cmd: добавил сналало запуск команды настройки электропитания, а затем вызов запуска .vbs-ника. Затем собрал новый диск и запустил установку.
Результат: SetupComplete.cmd выполняется - команды настройки электропитания отработали. А вот .vbs-ник то ли не выполняется, то ли чего ещё - не знаю даже, как проверить.
Ещё странность: Если запустить .vbs-ник "вручную", уже после установки, он как-то странно отрабатывает. Такое ощущение, что прав не хватает. К примеру, WinRAR - ставиться, а Far - нет. И при попытке (уже потом) сменить настройки окошка Far'а выдаётся старая песня о том, что нужны админские привелегии. Может быть, .vbs-ник из-за этого не выполняется? UAC не отключал.
На всякий случай привожу пример SetupComplete.cmd:
"powercfg.exe" -change -monitor-timeout-ac 0
"powercfg.exe" -change -disk-timeout-ac 0
"powercfg.exe" -change -hibernate-timeout-ac 0
"powercfg.exe" -change -standby-timeout-ac 0
CScript //Nologo %WinDir%\Setup\Scripts\cmdlines.vbs
На всякий случай привожу пример SetupComplete.cmd: »
Странно. У вас проблема с cmdlines.vbs, а вы приводите какой-то другой скрипт...
Если запустить .vbs-ник "вручную", уже после установки, он как-то странно отрабатывает. »
Обратитесь в форум скриптов или осевой. К автоустановке это не имеет отношения.
Странно. У вас проблема с cmdlines.vbs, а вы приводите какой-то другой скрипт... »
У меня нет абсолютно никаких проблем с cmdlines.vbs, к тому же я его приводил раньше (фрагмент). #151, если не ошибаюсь. А здесь я привёл пример как вызывается cmdlines.vbs, только и всего.
Обратитесь в форум скриптов или осевой. К автоустановке это не имеет отношения. »
Ещё раз: проблем с cmdlines.vbs нет. Он вполне работоспособен.
Хорошо, поставим вопрос по-другому: из SetupComplete.cmd скрипты (.vbs в частности) вообще запускать можно ?
поставим вопрос по-другому: из SetupComplete.cmd скрипты (.vbs в частности) вообще запускать можно ? »
Да
Vadikan,
Тогда я просто не понимаю :(. Запускаю скрипт (двойной клик мышкой по значку) после установки Windows 7 - идёт процесс установки (программ). Из SetupComplete.cmd - ничего не ставится. Имеется ввиду, из SetupComplete.cmd на этапе автоматической установки. После установки Windows можно запускать хоть SetupComplete.cmd, хоть cmdlines.vbs - разницы нет; установка приложений идёт.
Мне кажется, тут вопрос в правах каких-то.
Leon_K, setupcomplete запускается с правами LocalSystem, а после установки вы запускаете его с обычными (т.е. ограниченными) правами.
См. также http://www.outsidethebox.ms/10539/#_Toc277326816
setupcomplete запускается с правами LocalSystem, а после установки вы запускаете его с обычными (т.е. ограниченными) правами. »
Я не совсем точно написал, точнее совсем неточно. Приношу свои извинения.
Имелось ввиду, что как раз после установки, если запустить (вручную) установочный скрипт с "обычными", как вы пишете, правами происходят некие странности (вполне, впрочем объяснимые). А вот уже после отключения UAC этого не происходит - скрипт выполняется полностью. Самое смешное, что ничего в этом скрипте "противозаконного" нет: установка FAR, WinRar, Windows ClassicShell. Причём WinRar ставится, а FAR - нет. При включённом UAC, разумеется. Но насколько я понимаю, всё это лишено смысла: у LocalSystem прав больше, нежели чем у обычного пользователя. Почему же тогда не устанавливается? По поводу "странностей". Одну закономерность этой странности я уже вычислил: это - .msi-Installer.
Я так понимаю, что вопрос для данного топика сводится к тому для чего же использовать установку из SetupComplete.cmd. Т.е. для каких-то программ это неприемлемо? Но тогда непонятно, почему тот же приведённый на предыдущей странице "твик" электропитания, нормально отрабатывает из SetupComplete.cmd, но не работает из .vbs-ника, вызванного из того же SetupComplete.cmd. Вот этот фрагмент (работает из под пользователя даже с ограниченными правами):
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """powercfg.exe"" -change -monitor-timeout-ac 0", 2, true
WshShell.Run """powercfg.exe"" -change -disk-timeout-ac 0", 2, true
WshShell.Run """powercfg.exe"" -change -hibernate-timeout-ac 0", 2, true
WshShell.Run """powercfg.exe"" -change -standby-timeout-ac 0", 2, true
См. также http://www.outsidethebox.ms/10539/#_Toc277326816 »
Почитал, спасибо. Но здесь немного не этот случай.
Имелось ввиду, что как раз после установки, если запустить (вручную) установочный скрипт с "обычными", как вы пишете, правами происходят некие странности (вполне, впрочем объяснимые). А вот уже после отключения UAC этого не происходит - скрипт выполняется полностью. »
Чтобы запускать CMD с полными правами, нужно использовать пункт "Запуск от имени администратора" в контекстном меню.
У VBS такого пункта нет, но если вы запускаете его из полноправного CMD или из командной строки, запущенной с полными правами (http://www.outsidethebox.ms/10629/#runasadmin), это не важно. См. также Так ли страшен контроль учетных записей? (http://www.outsidethebox.ms/10034/)
Почему же тогда не устанавливается? »
Здесь нет телепатов, которые могли бы понять, как вы устанавливаете то, что не устанавливается. Об этом я вам говорил, но вы принципиально не хотите опубликовать свой скрипт.
Но даже если телепаты будут, им вряд ли станет понятно, зачем вызывать VBS из CMD, чтобы установить FAR.
Почитал, спасибо. Но здесь немного не этот случай. »
Да, случай не тот. Но я рассчитывал, что вы сообразите, что показана концепция, и точно так же можно запустить командную строку от имени системы, чтобы потом выполнить в ней cscript script.vbs
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC