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

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

FreshMen85 13-01-2010 18:38 1319320

Ошибка при запуске файла с CDROM.
 
У меня возникла проблема с командой:
Цитата:

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:\WIN51IP @set CDROM=%%i:
после выполнения возникают несколько ошибок и только после их закрытия продолжается установка программ с CDROM. Как победить данное обстоятельство, подскажите пожалуйста, как-то раньше с год назад с этой командой проблем не было, а счас возникли. Запуск файла происходит после полной загрузки OS.

Pozia 13-01-2010 18:51 1319329

FreshMen85, могу предположить что Вы как и я счастливый обладатель картрийдера. Если так то у вас два пути:
1 - запишите алфавит в обратном порядке
2 - читаем это

FreshMen85 13-01-2010 19:07 1319348

Pozia, ты оказался прав, убрал я буквы картридера из команды и батник запустился нормально. Буду делать значит через AutoIT, как у тебя в теме написанно. Правда вот ещё один вопрос там код скрипта приведен полный или нет.

Pozia 13-01-2010 23:30 1319588

Цитата:

Цитата FreshMen85
Правда вот ещё один вопрос там код скрипта приведен полный или нет. »

В теме написано Решено :)

Amigos 14-01-2010 07:50 1319737

Граждане обладатели кардридеров, к вам вопрос!

скрипт в шапке для определения буквы оптического носителя мне не нужен, т.к. использую [addon] Fake-Setup Advanced в котором есть
Цитата:

Цитата Mr dUSHA
5. Преобразование пути из параметра sourcepath из файла $winnt$.inf и установка глобальных переменных окружения SrcDosPath и SrcDosDrive, содержащих путь к дистрибутиву устанавливаемой ОС и букву дистрибутивного диска с двоеточием соответственно, для последующего использования программами и скриптами из PreSetup.cmd, PstSetup.cmd.
Поддерживаются пути к дистрибутиву на CD-диске, RIS-сервере, жестком диске. »

используется это в конструкциях типа
Код:

SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

REG ADD %KEY% /V TITLE /D "Установка Дополнений" /f

REG ADD %KEY%\150 /VE /D "FastStone Image Viewer" /f
REG ADD %KEY%\150 /V 1 /D "%SrcDosPath%\VALUEADD\FSIV4.exe /VERYSILENT" /f

для установки приложений при первом входе в систему через RunOnceEx


собственно вопрос.

не замечены ли на компах с кардридерами ситуации, когда при инсталяции оптический привод имеет одну букву, а после перевой перезагрузки эта буква присваивается кардридером а буква DVD/CD "уезжает" в конец списка?

то есть ситуация:
в момент инсталяции
C: - винт
D: - DVD

после первой перезагрузки
C: - винт
D: E: F: кардридер
G: - DVD

бывает?

или же кардридер занимает буквы после DVD / CD ?

FreshMen85 14-01-2010 13:13 1319922

Amigos, постараюсь на это обратить внимание при следующих испытаниях. Хотя если есть в этом проблема, не обратить на неё внимания врятли получится.

Pozia 14-01-2010 18:02 1320172

Цитата:

Цитата Amigos
не замечены ли на компах с кардридерами ситуации, когда при инсталяции оптический привод имеет одну букву, а после перевой перезагрузки эта буква присваивается кардридером а буква DVD/CD "уезжает" в конец списка? »

неоднократно. Но наверняка утверждать что виноват картрийдер не берусь. У меня помимо него есть основной винт SATA и дополнительный IDE, в биосе включен параметр AHCI, а это букву может сбивать тоже. Пока нет времени вычислять кто виноват.

FreshMen85 16-01-2010 16:54 1321839

Вобщем решил я свою проблему полностью. Для тех кто понял о чем речь, далее идут решения:
1. Используем [addon] Fake-Setup Advanced (ссылка чуть ниже в этой теме). С помощью данного аддона мы назначаем переменную для CD (DVD) с виндой.
2. Используем вот такой вот скрипт для запуска файла с CD/DVD диска. Путь для замены выделен жирным шрифтом.

Цитата:

#NOtrayIcon
#include <GuiConstantsEx.au3>
#include <ComboConstants.au3>
;
$sBSPI_Drives = ""
$sSel_Drive = ""
$sFirst_Drive = ""
$aDrives = DriveGetDrive("All")

;=============================================================================
For $i = 1 To $aDrives[0]
If DriveStatus($aDrives[$i]) <> "READY" Then ContinueLoop

If FileExists($aDrives[$i] & "\AUTOINSTALL\INSTALL_SOFT.CMD") Then
If $sBSPI_Drives = "" Then $sFirst_Drive = $aDrives[$i]
$sBSPI_Drives &= StringUpper($aDrives[$i]) & "|"
EndIf
Next

$sBSPI_Drives = StringRegExpReplace($sBSPI_Drives, "\|+$", "")

If StringInStr($sBSPI_Drives, "|") Then
$hGUI = GUICreate("Выберите диск запуска WIN_XP", 240, 50)

$Drives_Combo = GUICtrlCreateCombo("", 20, 20, 40, 20, $CBS_DROPDOWNLIST)
GUICtrlSetData(-1, $sBSPI_Drives, $sFirst_Drive)

$OK_Button = GUICtrlCreateButton("OK", 80, 19, 60, 25)
$Cancel_Button = GUICtrlCreateButton("Cancel", 160, 19, 60, 25)

GUISetState(@SW_SHOW, $hGUI)

While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $Cancel_Button
Exit
Case $OK_Button
$sSel_Drive = GUICtrlRead($Drives_Combo)

ExitLoop
EndSwitch
WEnd
ElseIf $sBSPI_Drives <> "" Then
$sSel_Drive = $sBSPI_Drives
EndIf

If $sSel_Drive <> "" Then RunWait($sSel_Drive & "\AUTOINSTALL\INSTALL_SOFT.CMD")
;=============================================================================
P.S. Автор скрипта amel27, пищу для размышлений дал Pozia.

Pozia 16-01-2010 17:08 1321853

FreshMen85, я не понял какую роль в этом играет скрипт если переменная уже есть от фак???

FreshMen85 16-01-2010 18:07 1321889

Fake-Setup Advanced есть возможность запуска файла при первой загрузки винды, но мне же надо запускать файл после того как винда загрузится.

Amigos 16-01-2010 19:23 1321933

Цитата:

Цитата FreshMen85
есть возможность запуска файла при первой загрузки винды, но мне же надо запускать файл после того как винда загрузится. »

Цитата:

Цитата Mr dUSHA
Основные функции Fake-установщика:
1. Запуск файлов-сценариев:
- PreSetup.cmd на Т-40 графического этапа установки для выполнения действий, которые необходимо выполнить перед началом установки ОС, такие, как копирование на жесткий диск и распаковка пользовательских пакетов драйверов, а также запуск разнообразных утилит для предварительной настройки установщика ОС.
- PstSetup.cmd на Т-0 графического этапа установки для выполнения действий, которые необходимо выполнить после окончания графического этапа установки ОС. »


Pozia 16-01-2010 23:52 1322172

Цитата:

Цитата FreshMen85
Fake-Setup Advanced есть возможность запуска файла при первой загрузки винды »

я немножко шаманю тут. я сделал аддон который копирует данный скрипт в корень системного диска на т13 и вешает в реестр запуск скрипта или при первом логоне или после загрузки рабочего стола, как угодно. Соответственно дальше скрипт находит CD ром и делает что нужно, а потом из реестра запись удаляет батник который доводит настройку системы до конца

FreshMen85 17-01-2010 10:09 1322354

Pozia, мне уже не надо, я кстати вместо скрипта написал батник с запуском нужного мне файла с CD и положил в автозагрузку. Потому что файлы из автозагрузки запускаются в последнею очередь, вобщем проверил в полевых условиях. Так что мне получается аддон Fake-Setup Advanced полностью подходит.

To Amigos я в курсе того что умеет аддон, и прочёл про "PstSetup.cmd на Т-0 графического этапа установки для выполнения действий, которые необходимо выполнить после окончания графического этапа установки ОС.", иначе бы откуда я по Вашему узнал о используемых переменных для запуска файлов с CD.
Теперь чуть поподробнее о запуске файла на T-0, мне данный метод не подошел, так как не происходит запуск оболочки виндовс, тоесть не соблюдается первое моё условие "полная загрузка виндовс". Другое дело зачем мне это надо, но я думаю Вам это не интересно, так что это пропустим.
Далее в момент запуска нужного мне файла, вместо кирилицы в батнике образовались не понятные символы и работа батника была закончена как только произошел запуск первого файла. Ну скажем на счет кракозябр может быть надо было попробывать кодировку батника не 866 а оставить ANSI, тут вобщем нужно было читать документацию к аддону более детально, да и в добавок нужно было что-то шаманить с не работоспасобностью батника, поэтому я пошел более легкий путем и сделал как мне нужно было, слава богу переменная работает и работает нормально.

P.S. Теперь кое что о наблюдениях при установки, я в конфиге аддона Fake-Setup Advanced не включал запуск батника на T-40, но при полностью автоматической установке произошёл сбой, вылезло сообщение о предложении указать диск с файлами виндовс, данную неприятность я победил путем то что открыл лоток привода и тут же закрыл, установщик быстро нашел нужные файлы и продолжил установку. Вобщем проверил начальный этап установки на другом приводе в своей системе, установка произошла нормально и далее как бы я не извращался, установка происходила нормально. На аддон Fake-Setup Advanced не грешу потому что ошибка слишком не устойчивая чтобы быть из-за аддона. Сижу сейчас дома и тестирую различные ситуации, в планах проверить запуск винды без установки каких-либо аддонов (на всякий случай), но есть одно предположении, я до этого использовал программу Acronis для востановления, может что-то из-за неё происходит. На виртуальной машине конечно всё устанавливается нормально. Кстати только что узнал что если в файле BOOTEX.LOG на флешке есть сообщения об ошибке установка виндовс не запускается ссылаясь на вирусы в mft области.


Время: 07:56.

Время: 07:56.
© OSzone.net 2001-