PDA

Показать полную графическую версию : [addon] SetEnvCD


Страниц : 1 [2] 3

dimich22
02-01-2008, 15:53
Нашел интересную программку на MSFN (http://www.msfn.org/board/DriveLetter_Variables_t38913.html&mode=threaded) Она назначает переменные для CD-ROM, жестких дисков и прочих устройств.
Мысль проверить буквы в различные моменты установки у меня возникала. Времени пока нет. А мой аддон и так определяет переменную именно путем поиска маркерного файла WIN51. Можно, конечно, переменную определять уже при первом логоне. Но тогда это будет уже не столько универсальный аддон.

asmol
04-01-2008, 23:44
для других целей, но тоже пытался определить букву привода в котором стоит диструбутив видны. использовал такой код
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го.

greg_b
05-01-2008, 09:51
asmol, алфавит выверни в обратную сторону от Z к С - прекратиться, было такое как-то пару раз. Потом забросил, перешол на OEMPreinstall.

vserd, dimich22, А так как я являюсь счастливым обладателем картридера, то вот как раз та часть ПО и не ставится. » - а вы господа в биосе указываете порядок устройств? По дефолту биоса первым будет - картридер, потом хард, потом cd-rom - т.е. hdd получает букву зю, если расставить девайсы, то все нормально будет.

vserd
05-01-2008, 10:25
а вы господа в биосе указываете порядок устройств? »
У меня нет кард ридера. По этому и хочу узнать работает мой способ всегда или нет (как на ранних стадиях установки, так и после изменения буквы диска).

greg_b
05-01-2008, 12:25
vserd, set-ы назначаются каждый раз при ре-старте системы, так что работать должно.

asmol
06-01-2008, 11:45
greg_b, алфавит выверни в обратную сторону от Z к С - прекратиться »
не вариант - заранее не угадаещь в какой из двух приводов дистриб будет установлен.

я вообщето только хотел предупредить что у этого метода есть грабли и в случае картридером они тоже возможны.

jameszero
06-01-2008, 15:45
На основе утилиты (http://forum.oszone.net/post-706806-20.html) от simplix набросал sysoc аддон, определяющий букву CDROM, т.е. аддон срабатывает до T13/12

После установки на моей системе расклад такой:
С - системный диск
D,E - жесткие диски
F,G,H,I,J - диски картридера
K - привод с которого устанавливалась система

В реестре прописалось:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
"cdrom"="K:\\"

Проверьте у кого в системе установлены картиридер и особенно несколько CD/DVD приводов.

greg_b
06-01-2008, 16:52
asmol, простейший вариант - отключить лишний привод в биосе - :)

dimich22
07-01-2008, 23:05
Интересно, что воспользовавшись своим вариантом, получил точно такой же результат, как и у jameszero. Т.е. CD-ROM была присвоена буква K. Но наверное не всегда все проходит гладко. На праздниках не получается заняться проверкой - работал даже 31го и 1го(( Ну и кардридер бы на работу... Видимо, придется купить. А кто-нибудь пробовал вариант с DetectDevice, ссылку на который я давал ранее? Как мне кажется, их способ более правильный.

spectre4
12-02-2008, 23:17
Неправильно пропысывать переменную на T13. Особенность в том что порядок дисков на T13 и при первом входе в систему может отличатся.

Например возьмем машины в составе HDD(один раздел), DVD-ROM и USB флешка.

На T13 буквы будут:С - HDD, D - USB флешка, E - DVD-ROM

При первом входе в систему уже будет:С - HDD, D - DVD-ROM, E - USB флешка

Посему если планируется использовать переменную при первом входе в систему, то ее и устанавливать надо там-же.

dimich22
20-02-2008, 09:51
spectre4, в итоге пришел к тому же выводу. Надо бы только идею оформить надлежащим образом, да все руки не доходят.

spectre4
20-02-2008, 11:34
Особенность в том что многочисленные опыты с setenv и setx никчему так и не привели. Т.е. хотя во всех мануалах и описаниях сказанно что переменную можно использовать уже с следующеей CMD сейсии, реально, она доступна только после ребута :(
У себя эту проблемму я решил тупо в лоб, для каждой софтины которая ставится с диска следал персональный .cmd файл вида:

@echo off
cmdow @ /HID

SET TAGFILE=\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) DO IF EXIST "%%i:%TAGFILE%" SET CDDRIVE=%%i:

{тут комманды для устанавки софта}

EXIT


и уже их вызываю из RunOnceEx.

dimich22
20-02-2008, 14:21
spectre4, а если использовать вот эту утилиту (http://www.msfn.org/board/DriveLetter_Variables_t38913.html&mode=threaded)

Garry071
20-02-2008, 15:12
Странная проблема...
Я не единожды ставил свой анаттенд на ноуты со встроенными картридерами - не разу из-за них проблем не было! (Для спецов: дрова на картридеры ставятся на Т-39. Но как будет очередной ноут с кардридером - проверю через Shift+F10 что и как распределилось. Плюс, думаю, проверю со вставленной карточкой/флешкой...)
В RunOnceEx.cmd нужная буква выясняется через SET CDROM=%~d0, правда, а не поиском WIN51 - может в этом дело?
Возможно, перед установкой, стоит извлечь все флешки и карточки из картридеров? Или там что-то нужное для установки лежит?

greg_b
20-02-2008, 21:45
Garry071, SET CDROM=%~d0 » - не всегда срабатывает, особенно на двухядреных точилках.

Garry071
21-02-2008, 11:48
greg_b, я в основном только на такие и ставлю...

Tutle
14-03-2008, 02:17
а ели у меня никакой софт не ставится при первом входе в систему, мне может быть полезен этот аддон?

dimich22
14-03-2008, 09:40
Tutle, может, так как в системе потом прописывается жестко переменная %CDROM%
Но пока аддон до конца не доведен. Уж больно мало у меня в последнее время свободных ресурсов.

mercuryn
15-03-2008, 15:18
dimich22, а поможет Ваш аддон в такой ситуации: при установке системы на ПК с картридером системный диск определился как H... При этом некоторые аддоны не установились.

zver5
16-03-2008, 00:40
mercuryn,
нет не помогает хотя тоже надеялся на это




© OSzone.net 2001-2012