![]() |
[addon] SetEnvCD
Аддон SetEnvCD для интеграции в дистрибутив Windows XPSP2 посредством UpdatePack-XPSP2-Rus
Тип интеграции - svcpack Добавляет собственную переменную %CDROM% в систему. Необходима при установке, например, на компьютер с картридером. -- Ссылки на закачку: Зеркало 1 Зеркало 2 ~ 60 Кб -- Для интеграции в дистрибутив Windows распакуйте архив в папку "Addons" UpdatePack-XPSP2-Rus ---- Тут чуть поподробнее распишу. Наверняка когда-нибудь вам приходилось сталкиваться с такими вещами, когда при установке ОС находились дисковые устройства и буква CD диска сбивалась, при этом часть программ (аддонов) уже не могла выполниться. Конечно, можно все перенести на T-13, но некоторые вещи - никак. Например, у меня часть ПО ставится при первом входе в систему из RunOnceEx. А так как я являюсь счастливым обладателем картридера, то вот как раз та часть ПО и не ставится. По небольшой подсказке jameszero на основе этой темы и был реализован аддон SetEnvCD, который добавляет переменную %CDROM% в систему. Полевые испытания прошли успешно. Так что у кого возникает подобная проблема - пользуйтесь. Да и вообще можно всем ее включить - вреда не будет. Ведь бывают ситуации, когда мы к кому-то приходим со своим диском, а там как раз описанная выше проблема. При наличии SetEnvCD никаких лишних телодвижений вам не потребуется - устанавливать систему можно будет не задумываясь о переназначении букв дисков. |
Прочитав описание, обрадовался тому, что наконец-то кто-то поборол эту маленькую неприятность и сразу же пересобрал диск, добавив Ваш аддон, не сильно вникая что где и куда, а сегодня, как по заказу получаю то, с чем боролись... :-)
У меня в RunOnceEx переменная CD привода прописана так: SET CDROM=%~D0 Убрать, что-ли, эту строку? |
Да, можно убрать. Так как переменная %CDROM% прописывается в систему на T13. У меня на домашней машине проблем не возникало. Но вот собрать какую-то статистику не получается.
|
наверное нужно уточнить, что в корне диска должен лежать маркерный файл WIN51
|
Akella130986, не знаю как у вас, а у меня на домашей системе намертво прописалась переменная %CDROM%
|
а кто нить пробовал этот аддон на совместимость с BS POST ????
|
Что-то действительно не так. Пока до конца ясной картины у меня нет. Но я работаю над этим вопросом)))
|
dimich22,
Не работает даный аддон мне так кажется. Подключаю кардридер устанавливаю систему, Wpi теряется так было и с аддоном и без него. А вообще идея была хорошая. |
Интересно, что у меня на компе без аддона система установилась, но приложения из RunOnceEx не запустились. А при его наличии все прошло гладко. Попробую на праздниках другой вариант.
Вот только мне интересно, а когда тогда назначается буква диска? Если при первом входе в систему, то решение только одно - ставить приложения при второй перезагрузке. А если раньше - то можно и другой способ. Видимо, дело в том, что использовав в своем аддоне прописывание переменной в реестр, изменения вступают в силу только после перезагрузки. Поэтому для RunOnceEx (при запуске из cmdlines) вновь введенную переменную %CDROM% использовать еще нельзя. Все-таки основной вопрос - в какой момент происходит сдвиг буквы диска CD-ROM. Тогда можно все-таки обойти проблему. |
В начале текстового этапа установки, после загрузки основных драйверов, с помощью редактора разделов можно определить буквы дисков. Если у нас один винт и на нём будет создаваться один раздел, естественно он получит букву C, а сидюк - D. Но когда разделов несколько, тут есть нюанс. Допустим мы хотим разбить винт на 2 раздела. Если нажать C (создать), ввести размер, Enter, и тут же нажать C на втором разделе, размер уже будет введён, Enter, - то первый раздел получит букву C, второй E, а сидюк D. Если же в начале разметки нажать C, Enter, D, Enter (то есть создать и удалить раздел), а потом повторить предыдущие действия (C, ввести размер, Enter, вниз, C, Enter), то буквы назначатся правильно: первый и второй разделы - C и D соответственно, и сидюк E.
|
simplix, тут все немного сложнее. Букву сидюка я определить могу. И назначить переменную тоже. Но вот такие вещи, как кардридеры портят всю малину. Им буквы назначаются потом - после того, как мы определили букву CD-ROM. Почему-то мне кажется, что происходит это после первого входа в систему.
|
Цитата:
|
simplix, так в том-то все и дело, что буква сидюка сбивается - кардридеру буквы назначаются до него. Если бы все сразу жестко прописывалось, то и проблем бы при установке приложений с CD не возникало бы.
|
Попробуй пошаманить над этими статьями:
http://technet2.microsoft.com/Window....mspx?mfr=true http://support.microsoft.com/kb/300415/ru |
Цитата:
Короче, заменил в RunOnceEx строку Код:
SET CDROM=%~D0 Код:
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\WIN51 set CDROM=%%i: |
simplix, посмотрю. Но пока не понял, как применить во время установки.
biork, у меня переменная %CDROM% определяется именно вторым способом. Попробую потом выложить еще один вариант, чтобы для RunOnceEx можно было бы сразу использовать эту переменную. |
До меня вообще плохо доходит полезность этого аддона. А если сидюков много? Теряем универсальность. Вообще драйвера устройств ставятся до T13, поэтому на T13 буквы дисков уже должны быть определены, а если есть кардриадер - его буквы должны быть за сидюком, и после такого расклада буква сидюка уже не изменится. Почему они у вас меняются после перезагрузки - не понятно, такого быть не должно, и правильным будет хорошенько покопаться в установке и выяснить, почему так происходит. В частности - на T13 давим Shift+F10 и смотрим где у нас какие буквы.
|
Ну... вобщем ни чего не помогло... и в RunOnceEx строчки и аддон, а каждая вторая третья установка, как на зло с перепутанными буквами... Где то пораньше это должно применяться.
Нашёл выход из положения - отказ от установки приложений с сидюка из RunOnceEx (или раньше, или позже) |
Вложений: 1
Вот ещё один вариант, который прост, как лопата (с). При запуске программа перебирает все сидюки в системе и добавляет в переменную %cdrom% первый найденный сидюк, в корне которого лежит файл WIN51. Тестируйте, когда именно её запускать - на T13 или непосредственно перед началом установки приложений при первом логоне (в таком случае её можно будет скопировать в %WinDir%).
|
dimich22,
Цитата:
DevicePath2DosPath.exe /ini=%WINDIR%\system32\$winnt$.inf[data]sourcepath >> t1 До и после того как меняются буквы дисков. А затем опубликовать результаты? |
Нашел интересную программку на MSFN Она назначает переменные для CD-ROM, жестких дисков и прочих устройств.
Мысль проверить буквы в различные моменты установки у меня возникала. Времени пока нет. А мой аддон и так определяет переменную именно путем поиска маркерного файла WIN51. Можно, конечно, переменную определять уже при первом логоне. Но тогда это будет уже не столько универсальный аддон. |
для других целей, но тоже пытался определить букву привода в котором стоит диструбутив видны. использовал такой код
Код:
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\WIN51 set CDROM=%%i: в системе 2 сидирома (например D и E) дистрибутив находится в E, привод D - пустой. при выполнении скрипта получаем сообщение что нет диска в приводе и соответсвенно выход с ошибкой - дистрибутив не найден. как в подобной ситуации поведет себя картридер смогу проверить только после 9го. |
asmol, алфавит выверни в обратную сторону от Z к С - прекратиться, было такое как-то пару раз. Потом забросил, перешол на OEMPreinstall.
vserd, dimich22, Цитата:
|
Цитата:
|
vserd, set-ы назначаются каждый раз при ре-старте системы, так что работать должно.
|
greg_b,
Цитата:
я вообщето только хотел предупредить что у этого метода есть грабли и в случае картридером они тоже возможны. |
Вложений: 1
На основе утилиты от simplix набросал sysoc аддон, определяющий букву CDROM, т.е. аддон срабатывает до T13/12
После установки на моей системе расклад такой: Код:
С - системный диск Код:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment] |
asmol, простейший вариант - отключить лишний привод в биосе - :)
|
Интересно, что воспользовавшись своим вариантом, получил точно такой же результат, как и у jameszero. Т.е. CD-ROM была присвоена буква K. Но наверное не всегда все проходит гладко. На праздниках не получается заняться проверкой - работал даже 31го и 1го(( Ну и кардридер бы на работу... Видимо, придется купить. А кто-нибудь пробовал вариант с DetectDevice, ссылку на который я давал ранее? Как мне кажется, их способ более правильный.
|
Неправильно пропысывать переменную на T13. Особенность в том что порядок дисков на T13 и при первом входе в систему может отличатся.
Например возьмем машины в составе HDD(один раздел), DVD-ROM и USB флешка. На T13 буквы будут: Код:
С - HDD, D - USB флешка, E - DVD-ROM Код:
С - HDD, D - DVD-ROM, E - USB флешка |
spectre4, в итоге пришел к тому же выводу. Надо бы только идею оформить надлежащим образом, да все руки не доходят.
|
Особенность в том что многочисленные опыты с setenv и setx никчему так и не привели. Т.е. хотя во всех мануалах и описаниях сказанно что переменную можно использовать уже с следующеей CMD сейсии, реально, она доступна только после ребута :(
У себя эту проблемму я решил тупо в лоб, для каждой софтины которая ставится с диска следал персональный .cmd файл вида: Код:
@echo off |
spectre4, а если использовать вот эту утилиту
|
Странная проблема...
Я не единожды ставил свой анаттенд на ноуты со встроенными картридерами - не разу из-за них проблем не было! (Для спецов: дрова на картридеры ставятся на Т-39. Но как будет очередной ноут с кардридером - проверю через Shift+F10 что и как распределилось. Плюс, думаю, проверю со вставленной карточкой/флешкой...) В RunOnceEx.cmd нужная буква выясняется через SET CDROM=%~d0, правда, а не поиском WIN51 - может в этом дело? Возможно, перед установкой, стоит извлечь все флешки и карточки из картридеров? Или там что-то нужное для установки лежит? |
Garry071,
Цитата:
|
greg_b, я в основном только на такие и ставлю...
|
а ели у меня никакой софт не ставится при первом входе в систему, мне может быть полезен этот аддон?
|
Tutle, может, так как в системе потом прописывается жестко переменная %CDROM%
Но пока аддон до конца не доведен. Уж больно мало у меня в последнее время свободных ресурсов. |
dimich22, а поможет Ваш аддон в такой ситуации: при установке системы на ПК с картридером системный диск определился как H... При этом некоторые аддоны не установились.
|
mercuryn,
нет не помогает хотя тоже надеялся на это |
mercuryn,
аналогичная ситуация была у клиента Цитата:
Цитата:
|
aset,
аддон для этого, но с данной функцией не справляется |
zver5,
тогда надо к автору обращаться |
aset, zver5, вот и я об этом... dimich22, отзовись...
|
Цитата:
|
Цитата:
|
Цитата:
|
Насколько я понял, данный аддон на 100% не срабатывает. Я тут бродил по инету, и наткнулся на такой пост. Может знающим людям это чем-то поможет и аддон можно будет довести до ума?
|
проблемму с поиском диска, при наличии в системе картриадера, я решил следующим образом:
Код:
@echo off |
Время: 21:37. |
Время: 21:37.
© OSzone.net 2001-