Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Windows Preinstallation Environment(WinPE) и BartPE LiveCD 6

Автор: AZJIO
Дата сообщения: 27.02.2010 12:24
omamont

Цитата:
А, извлечение из многотомного wim_а будет ?

Сделал, тестируй. [more=Скрипт]
Код:
#NoTrayIcon ;скрыть в системной панели индикатор AutoIt

Global $folder0, $boot0, $metka0, $tom0, $rw0
Global $aPathexe[1]

$close = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\script_az\contmenu_WIM", "close")
If @error=1 Then
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\script_az\contmenu_WIM", "close", "REG_SZ", "0")
$close = '0'
EndIf

$Pathname = StringTrimLeft($CmdLineRaw, StringLen('"'&@ScriptFullPath&'" '))
If $Pathname='' Then Exit
$aPath=StringRegExp($Pathname, "(^.*)\\(.*)$", 3)
$namewim=StringTrimRight($aPath[1], 4)

$wimlist=''
For $i=1 To 20
; Вытаскиваем метку WIM-файла
$rnim = Run(@SystemDir&'\imagex.exe /info "'&$Pathname&'" '&$i, @SystemDir, @SW_HIDE, 2)
$wiminfo1=''
While 1
$line1 = StdoutRead($rnim)
If @error Then ExitLoop
$wiminfo1 &= $line1
Wend
;MsgBox(0, "инфа",$wiminfo1)
$wiminfo1 = StringRegExpReplace($wiminfo1, "(?s).*<NAME>(.*)</NAME>.*", "\1")
If $wiminfo1='' and $i=1 Then
MsgBox(0, "Неувязочка", 'Не найдена метка wim-файла.'&@CRLF&'Без метки извлечь wim-файл невозможно.')
Exit
EndIf
If
$wiminfo1='' or StringInStr($wiminfo1,@CRLF)<>0 Then ExitLoop
If
$i=1 Then $wiminfo=$wiminfo1
$wimlist
&=$wiminfo1&'|'
Next
; конец - Вытаскиваем метку WIM-файла

GUICreate($aPath[1],310,167) ; размер окна
$tab=GUICtrlCreateTab (0,0, 310,148) ; размер вкладки

$checkclose=GUICtrlCreateCheckbox ("Закрывать диалог при клике на кнопке", 10,10,290,24)
If $close = '1' Then GuiCtrlSetState(-1, 1)

$extract=GUICtrlCreateButton ("Извлечь", 10,40,90,24)
GUICtrlSetTip(-1, "Извлечь")
$pack=GUICtrlCreateButton ("Упаковать", 110,40,90,24)
GUICtrlSetTip(-1, "Папка извлечения удалится.")
GUICtrlSetState($pack, 128)
$append=GUICtrlCreateButton ("Добавить", 210,40,90,24)
GUICtrlSetTip(-1, "Добавить новый том к wim"&@CRLF&"Обязательно изменить метку"&@CRLF&"добавляемого тома")

$mount=GUICtrlCreateButton ("Монтир", 10,70,70,24)
GUICtrlSetTip(-1, "Монтировать "&$aPath[1])
$rw=GUICtrlCreateCheckbox ("RW", 90,70,40,24)
GuiCtrlSetState(-1, 1) ; закомментировать эту строку, если не нужна отмеченная галочка RW
GUICtrlSetTip($rw, "RW - с поддержкой изменения"&@CRLF&"файлов в каталоге монтирования")
$create=GUICtrlCreateButton ("Упаковать", 140,70,75,24)
GUICtrlSetState($create, 128)
$unmount=GUICtrlCreateButton ("Демонтир", 225,70,75,24)
GUICtrlSetState($unmount, 128)

$folder=GUICtrlCreateCombo ("", 10,100,70,24)
GUICtrlSetData(-1,'Здесь|temp|C:\|D:\|B:\', 'Здесь')
GUICtrlSetTip($folder, "Куда извлекаем?"&@CRLF&"папка wim_%name_wim%")
;$tom=GUICtrlCreateCombo ("", 100,100,40,24)
;GUICtrlSetData(-1,'1|2|3|4|5|6', '1')
;GUICtrlSetTip($tom, "Номер тома,"&@CRLF&"необходим при упаковке")

$metka=GUICtrlCreateCombo ("", 90,100,150,24)
GUICtrlSetData(-1,$wimlist&'1|wimpe|remark', $wiminfo)
GUICtrlSetTip($metka, "Метка тома."&@CRLF&"Первая в списке оригинальная")
$boot=GUICtrlCreateCheckbox ("boot", 250,100,50,24)
GUICtrlSetTip(-1, "Для загрузочных wim-файлов"&@CRLF&"WinPe.wim, BootSdi.wim")

GUICtrlCreateTabitem ("") ; конец вкладок

$Label000=GUICtrlCreateLabel ('Строка состояния', 5,150,234,-1)
$LabelMb=GUICtrlCreateLabel ('', 240,148,80,20)
GUICtrlSetFont (-1,14)

GUISetState ()

While 1
$msg = GUIGetMsg()
Select
Case
$msg = $extract
GUICtrlSetState($mount, 128)
GUICtrlSetState($rw, 128)
GUICtrlSetData($Label000, 'Извлечение '&$aPath[1])
_read()
If not FileExists($folder0&'\wim_'&$namewim) Then DirCreate($folder0&'\wim_'&$namewim)
ShellExecuteWait (@SystemDir&'\imagex.exe','/apply "'&$Pathname&'" "'&$metka0&'" "'&$folder0&'\wim_'&$namewim&'"','','', @SW_HIDE )
GUICtrlSetData($Label000, 'Извлечение выполнено.')
GUICtrlSetState($pack, 64)
Run('Explorer.exe /select,'&$folder0&'\wim_'&$namewim)
If GUICtrlRead ($checkclose) = 1 Then Exit

Case
$msg = $pack
GUICtrlSetState($extract, 128)
_read()
GUICtrlSetData($Label000, 'Упаковывается в '&$aPath[1]&'_New.wim.')

; упаковка wim с прогресс-баром
$ProgressBar = GUICtrlCreateProgress(50, 127, 200, 14)
GUICtrlSetColor(-1, 32250); цвет для классической темы

$iPos = 0
$iPID = Run(@SystemDir&'\imagex.exe /capture'&$boot0&'"'&$folder0&'\wim_'&$namewim&'" "'&$folder0&'\'&$namewim&'_New.wim" "'&$metka0&'" /compress maximum', '', @SW_HIDE)
While ProcessExists($iPID)
$sizewim=''
If FileExists($folder0&'\'&$namewim&'_New.wim') Then $sizewim=FileGetSize($folder0&'\'&$namewim&'_New.wim')
$sizewim /=1048576
$sizewim=Ceiling ($sizewim)
GUICtrlSetData($LabelMb, $sizewim&' Мб')
$iPos += 1
GUICtrlSetData($ProgressBar, $iPos)
Sleep(60)
If $iPos > 100 Then $iPos = 0
WEnd
If FileExists($folder0&'\'&$namewim&'_New.wim') Then $sizewim=FileGetSize($folder0&'\'&$namewim&'_New.wim')
$sizewim /=1048576
$sizewim=Ceiling ($sizewim)
GUICtrlSetData($LabelMb, $sizewim&' Мб')
GUICtrlSetColor($LabelMb,0xEE0000) ; Red
GUICtrlDelete($ProgressBar)
; конец: упаковка wim с прогресс-баром
GUICtrlSetData($Label000, 'Готово !!! Размер: '&$sizewim&' Мб.')
DirRemove($folder0&'\wim_'&$namewim, 1)
DllCall("shell32.dll", "none", "SHChangeNotify", "long", '0x8000000', "uint", '0x1000', "ptr", '0', "ptr", '0')
Run('Explorer.exe /select,"'&$folder0&'\'&$namewim&'_New.wim"')
GUICtrlSetState($extract, 64)
GUICtrlSetState($mount, 64)
GUICtrlSetState($pack, 128)
GUICtrlSetState($rw, 64)
If GUICtrlRead ($checkclose) = 1 Then Exit

Case $msg = $append
GUICtrlSetState($extract, 128)
GUICtrlSetState($mount, 128)
GUICtrlSetState($rw, 128)
_read()
If StringInStr($wimlist,$metka0)<>0 Then
MsgBox(0, "Ошибка", 'Нельзя добавить к wim-у том'&@CRLF&'с меткой, уже имеющейся в wim-е'&@CRLF&'Измените метку "'&$metka0&'"')
_enb()
ContinueLoop
EndIf
$folderwim = FileSelectFolder ( "Указать добавляемую папку",'','3',@WorkingDir & '')
If @error=1 Then
_enb()
ContinueLoop
EndIf
$msgapp=MsgBox(4, "Выгодное предложение", 'Добавить к оригиналу?'&@CRLF&@CRLF&'"Да" - к '&$aPath[1]&@CRLF&'"Нет" - к '&$namewim&'_New.wim')

; добавление к wim с прогресс-баром
$ProgressBar = GUICtrlCreateProgress(50, 127, 200, 14)
GUICtrlSetColor(-1, 32250); цвет для классической темы

$iPos = 0
If $msgapp=6 Then $appname=$aPath[1]
If $msgapp=7 Then $appname=$namewim&'_New.wim'
GUICtrlSetData($Label000, 'Добавляем к '&$appname)
$iPID = Run(@SystemDir&'\imagex.exe /append'&$boot0&'"'&$folderwim&'" "'&$folder0&'\'&$appname&'" "'&$metka0&'"', '', @SW_HIDE)
While ProcessExists($iPID)
$sizewim=''
If FileExists($folder0&'\'&$appname) Then $sizewim=FileGetSize($folder0&'\'&$appname)
$sizewim /=1048576
$sizewim=Ceiling ($sizewim)
GUICtrlSetData($LabelMb, $sizewim&' Мб')
$iPos += 1
GUICtrlSetData($ProgressBar, $iPos)
Sleep(60)
If $iPos > 100 Then $iPos = 0
WEnd
If FileExists($folder0&'\'&$appname) Then $sizewim=FileGetSize($folder0&'\'&$appname)
$sizewim /=1048576
$sizewim=Ceiling ($sizewim)
GUICtrlSetData($LabelMb, $sizewim&' Мб')
GUICtrlSetColor($LabelMb,0xEE0000) ; Red
GUICtrlDelete($ProgressBar)
; конец: добавление к wim с прогресс-баром
GUICtrlSetData($Label000, 'Готово !!! Размер: '&$sizewim&' Мб.')
Run('Explorer.exe /select,"'&$folder0&'\'&$appname&'"')
_enb()
If GUICtrlRead ($checkclose) = 1 Then Exit

Case $msg = $mount
GUICtrlSetState($extract, 128)
_read()
If not FileExists($folder0&'\wim_'&$namewim) Then DirCreate($folder0&'\wim_'&$namewim)
ShellExecuteWait (@SystemDir&'\imagex.exe',$rw0&' "'&$Pathname&'" "'&$metka0&'" "'&$folder0&'\wim_'&$namewim&'"','','', @SW_HIDE )
GUICtrlSetData($Label000, 'Монтирование выполнено.')
GUICtrlSetState($create, 64)
GUICtrlSetState($unmount, 64)
Run('Explorer.exe /select,'&$folder0&'\wim_'&$namewim)
If GUICtrlRead ($checkclose) = 1 Then Exit

Case $msg = $unmount
GUICtrlSetState($create, 128)
GUICtrlSetState($mount, 128)
ShellExecuteWait (@SystemDir&'\imagex.exe','/unmount "'&$folder0&'\wim_'&$namewim&'"','','', @SW_HIDE )
DirRemove($folder0&'\wim_'&$namewim, 1)
GUICtrlSetState($mount, 64)
GUICtrlSetState($extract, 64)
GUICtrlSetState($unmount, 128)
If GUICtrlRead ($checkclose) = 1 Then Exit

Case $msg = $create
GUICtrlSetState($unmount, 128)
GUICtrlSetState($mount, 128)
_read()
GUICtrlSetData($Label000, 'Упаковывается в '&$aPath[1]&'_New.wim.')

; упаковка wim с прогресс-баром
$ProgressBar = GUICtrlCreateProgress(50, 127, 200, 14)
GUICtrlSetColor(-1, 32250); цвет для классической темы

$iPos = 0
$iPID = Run(@SystemDir&'\imagex.exe /capture'&$boot0&'"'&$folder0&'\wim_'&$namewim&'" "'&$folder0&'\'&$namewim&'_New.wim" "'&$metka0&'" /compress maximum', '', @SW_HIDE)
While ProcessExists($iPID)
$sizewim=''
If FileExists($folder0&'\'&$namewim&'_New.wim') Then $sizewim=FileGetSize($folder0&'\'&$namewim&'_New.wim')
$sizewim /=1048576
$sizewim=Ceiling ($sizewim)
GUICtrlSetData($LabelMb, $sizewim&' Мб')
$iPos += 1
GUICtrlSetData($ProgressBar, $iPos)
Sleep(60)
If $iPos > 100 Then $iPos = 0
WEnd
If FileExists($folder0&'\'&$namewim&'_New.wim') Then $sizewim=FileGetSize($folder0&'\'&$namewim&'_New.wim')
$sizewim /=1048576
$sizewim=Ceiling ($sizewim)
GUICtrlSetData($LabelMb, $sizewim&' Мб')
GUICtrlSetColor($LabelMb,0xEE0000) ; Red
GUICtrlDelete($ProgressBar)
; конец: упаковка wim с прогресс-баром
GUICtrlSetData($Label000, 'Готово !!! Размер: '&$sizewim&' Мб.')
DirRemove($folder0&'\wim_'&$namewim, 1)
Run('Explorer.exe /select,"'&$folder0&'\'&$namewim&'_New.wim"')
GUICtrlSetState($unmount, 64)
DllCall("shell32.dll", "none", "SHChangeNotify", "long", '0x8000000', "uint", '0x1000', "ptr", '0', "ptr", '0')
If GUICtrlRead ($checkclose) = 1 Then Exit

Case $msg = $checkclose
If GUICtrlRead ($checkclose) = 1 Then
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\script_az\contmenu_WIM", "close", "REG_SZ", "1")
Else
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\script_az\contmenu_WIM", "close", "REG_SZ", "0")
EndIf
Case $msg = -3
ExitLoop
EndSelect
WEnd

Func _read()
$folder0=GUICtrlRead ($folder)
;$tom0=GUICtrlRead ($tom)
$metka0=GUICtrlRead ($metka)
If $metka0='' Then $metka0=$wiminfo
If GUICtrlRead ($boot) = 1 Then
$boot0=' /boot '
Else
$boot0=' '
Endif
If GUICtrlRead ($rw) = 1 Then
$rw0='/mountrw'
Else
$rw0='/mount'
Endif

Switch $folder0
Case $folder0="Здесь"
$folder0 = $aPath[0]
Case $folder0="temp"
$folder0 = @TempDir
Case $folder0="C:\"
$folder0 = "C:"
Case $folder0="D:\"
$folder0 = "D:"
Case $folder0="B:\"
$folder0 = "B:"
Case Else
$folder0 = @TempDir
EndSwitch
EndFunc

Func _enb()
GUICtrlSetState($extract, 64)
GUICtrlSetState($mount, 64)
GUICtrlSetState($rw, 64)
EndFunc
Автор: VV2006
Дата сообщения: 27.02.2010 13:33
AZJIO
А если считать действующее значение переменной %windir% в реальной среде и передать его в скрипт изменения реестра? Если там
Цитата:
нужно указать только абсолютный путь, неважно какой
- абсолютный и получится. Хотя, если помнить о необходимости корректировки абсолютных путей в разных сборках, понятное дело, можно и без этих заморочек обойтись.
Автор: alexfocus
Дата сообщения: 27.02.2010 15:10
AZJIO

Цитата:
Сделал, тестируй. Скрипт

Скопировал содержимое окна в с крипт wimmenu.au3, скопировал его в System32, добавил веточки реестра. Autoit3.exe установлен и в system32 присутствует.
В итоге не запускается ...
Может быть скрипт в exe конвернуть и сделать ее портабельной?

Автор: AZJIO
Дата сообщения: 27.02.2010 15:59
alexfocus
Я же тебе давал reg-файл для твоей сборки и проверял его на твоей сборке, всё работало.
Вот эти обновлённые скрипты в архиве (wimmenu.au3 и wimoff.au3). Добавил рег-файлы, положи скрипт в X:\PROGRAMS\script\wimmenu.au3 и запусти рег-файл в своей сборки, потом пробуй контекстное меню на файле, по другому скрипт ни как не стартанёшь, ему нужна ком-строка с передачей файла. Если просто стартовать то ничего не будет.

VV2006
там функция, которая возвращает прямой путь, далее этот путь обрезается. Если вставишь переменную, то функция всё равно вернёт прямой путь и обрежет его неправильно. Как с переменными (%windir%) выкручиваться я пока незнаю. Вот смотри

Код: StringTrimLeft($CmdLineRaw, StringLen('"'&@ScriptFullPath&'" '))
Автор: alexfocus
Дата сообщения: 27.02.2010 16:14
AZJIO
вобщем понял, пути неправильно были прописаны.
Автор: omamont
Дата сообщения: 27.02.2010 19:09
AZJIO 13:24 27-02-2010
Цитата:
Сделал, тестируй. Скрипт

У.. ну.. ваще... слов нема - респект !!!
Видит все тома : http://s002.radikal.ru/i197/1002/16/34248cb595ff.jpg
Распаковывает,
запаковывает,
добавляет и т.д. ...
пробовал на бэкепах ВИНДЫ (заливка) - (прожки портабельные обновил)
без проблем винда запустилась.

Ещё раз спасибо.

alexfocus

На живой винде делаю:

Код: xcopy /q /h /r /y "AutoIt3.exe" "%windir%\system32\"
xcopy /q /h /r /y "wim.ico" "%windir%\system32\"
xcopy /q /h /r /y "wimmenu.au3" "%windir%\system32\"
xcopy /q /h /r /y "imagex.exe" "%windir%\system32\"
xcopy /q /h /r /y "wimgapi.dll" "%windir%\system32\"
reg add "HKCR\.wim" /f /ve /t REG_SZ /d "wimfile"
reg add "HKCR\wimfile" /f /ve /t REG_SZ /d "Сжатый образ"
reg add "HKCR\wimfile\DefaultIcon" /f /ve /t REG_SZ /d "wim.ico"
reg add "HKCR\wimfile\Shell\1mount" /f /ve /t REG_SZ /d "WIM-операции"
reg add "HKCR\wimfile\Shell\1mount\command" /f /ve /t REG_SZ /d "AutoIt3.exe \"%windir%\system32\wimmenu.au3\" %%1"
Автор: AZJIO
Дата сообщения: 28.02.2010 08:34
Вот инсталятор wim-менюшки в виде sfx-архива. Скопирует отсутствующие файлы, и зарегистрирует в реестре.
Автор: VV2006
Дата сообщения: 28.02.2010 12:14
Помогите, люди добрые!
Проблема в процессе создания скрипта автоматической настройки сетевого подключения в PE-среде.

Для иллюстрации - конкретный пример в обычной Windows XP:
- открываем папку "Сетевые подключения",
- снимаем в окне свойств подключения галку "Пpи пoдключeнии вывecти знaчoк в oблacти увeдoмлeний", жмём Ok.
Всё, значок сетевого подключения сразу исчезает из области уведомлений.

Теперь пробуем вернуть этот значок обратно, для чего выполняем файл ShowNetIcon.cmd с таким содержанием:
Код: @FOR /F "DELIMS=" %%? IN ('REG QUERY HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318} /S^|FINDSTR \\Connection$') DO @REG ADD "%%?" /V ShowIcon /T REG_DWORD /D 1 /F>nul
Автор: AZJIO
Дата сообщения: 28.02.2010 13:57
VV2006
попробуй обновить скриптом au3 с текстом

Код: DllCall("shell32.dll", "none", "SHChangeNotify", "long", '0x8000000', "uint", '0x1000', "ptr", '0', "ptr", '0')
Автор: yurkesha
Дата сообщения: 28.02.2010 16:25
VV2006
Ну ты крут! Чудный способ!
В принципе все успеет обновиться если ты воткнешь эту команду между RasCli и MS_SERVER:
Код: bartpe -c s -i MS_RasCli
FOR /F "DELIMS=" %%i IN ('REG QUERY HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318} /S^|FINDSTR \\Connection$') DO REG ADD "%%i" /V ShowIcon /T REG_DWORD /D 1 /F>nul 2>&1
bartpe -c s -i MS_SERVER
Автор: alexfocus
Дата сообщения: 28.02.2010 22:47

Цитата:
если ты воткнешь эту команду между RasCli и MS_SERVER:

а если дрова на сетевуху не определились и их надо доустанавливать из PE, то после установки сетевухи значок так и не появится...
Можно конечно использовать и существующий ShowNicIco.exe, который ставит галки даже после добавления драйвера сетевой карты, но боюсь что будут все орать что в сборке сидит вирус.
Интересно посмотреть сам скрипт ShowNicIco.exe и после чего нормально пересобрать в правильный ехе.
AZJIO
можешь помочь в этом вопросе?
Автор: VV2006
Дата сообщения: 01.03.2010 07:47
AZJIO
Автоитовский скрипт прицельно "бьёт" по области в трее, где должна бы появиться иконка сетевого подключения, но иконка не появляется.
И как всё-таки расковырять penetwork.exe на предмет незапуска ненужных служб, чтоб потом их же в RUN-NETCFG.CMD не останавливать?

yurkesha
Спасибо! Просто добавил тот скрипт в RUN-NETCFG.CMD сразу после start /WAIT penetwork.exe, и не пришлось искать программного аналога обновления папки сетевых подключений - значок в трее тут же гордо реет!

alexfocus
Теперь ShowNicIco.exe уже не нужен. По крайней мере при моем способе запуска сети "по требованию".
Пригодится в гонке вооружений - для "цветомузыки" в текстовой фазе при старте PE можно начать строку сообщения при загрузке Esc-последовательностью, например так:
Код: [SetValue]
"txtsetupsif", "SetupData", "loaderprompt", """Starting WinXPE..."""
Автор: AZJIO
Дата сообщения: 01.03.2010 08:53
VV2006

Цитата:
[SetValue]
"txtsetupsif", "SetupData", "loaderprompt", """Esc[1;NmStarting WinXPE..."""

символ Esc нужно скопировать с этой страницы, иначе не работает, это не просто буквы.

Код: loaderprompt="Starting WinXPE..."
Автор: VV2006
Дата сообщения: 01.03.2010 09:49
AZJIO, дык так и делал. А тут этот символ (Alt+27) в коде не стал приводить, думал, раз не так отображается (), значит правильно не вставится при копипасте. Ан нет - надо было попробовать предварительно скопипастить. Поправил.
Создать символ начала Esc-последовательности можно в обычном блокноте: удерживая Alt, набрать на доп.цифровой клавиатуре 27, выглядит как стрелочка назад. В фаровском редакторе не нашёл способа его создать.
Автор: ORGaniZM
Дата сообщения: 01.03.2010 13:15
кто-нибудь имеет наработки в плане использования hamachi в live-системах? прошерстил эту тему, включая старые ветки, а также соседние, но никаких упоминаний не нашел.
Автор: kolja87
Дата сообщения: 01.03.2010 20:03
VV2006

для "цветомузыки" - screenshot please!
Автор: vedi UA
Дата сообщения: 01.03.2010 22:02

Цитата:
Создать символ начала Esc-последовательности можно в обычном блокноте: удерживая Alt, набрать на доп.цифровой клавиатуре 27, выглядит как стрелочка назад. В фаровском редакторе не нашёл способа его создать.


Help FAR Ctrl+Q Esc - вставляется символ с кодом 27, а Ctrl+Q Tab - вставляет симивол с кодом 9 и т.д.
=)
Автор: Unique_nickname
Дата сообщения: 02.03.2010 00:20
VV2006
AZJIO
удивительное рядом Спасибо за науку. Даже в голову не приходило, что там такое может обрабатываться.
Автор: VV2006
Дата сообщения: 02.03.2010 02:10
kolja87, вот скрин с "бирюзой":
vedi UA, спасибо, в Far'овском редакторе символ ввода Esc-последовательности создаётся комбинацией: Ctrl+Q, Alt+27.
А используя Alt+7, можно вставлять beep-звуки, воспроизводимые в батниках встроенным динамиком (пищалкой), к примеру вставка следующй строки в командный файл озвучит его тремя "бипами":
Код: @echo 
Автор: SANIOK_AV
Дата сообщения: 02.03.2010 12:52
Доброго времени суток!
Такой вопрос:
Добавил в сборку Плагин поддержки SCSI/SATA/RAID/IDE устройств(SCSIPORT). Версия 2009_10_24. с сайта уважаемого yurkesha http://yurkesha.seclorum.ru/drv.html
Очень полезная вещь как оказалось, потому как столкнулся на некоторых компах с проблемой в том что не смог загрузиться со своей сборки без этого пака драйверов...
Но сегодня возникла следующая проблема: сборка с драйверами не хочет стартовать на vmware ... (((
Пишет: Не хватает памяти для mup.sys. Нажмите любую клавишу для продолжения.
Убераю из сборки драйвера всё нормально на vmware стартует...
Пока вижу доля себя выход при тестировании на vmware отключать драйвера, а при записи реального образа опять их включать...но это ведь мне кажется не выход...
Подскажите пожалуйста, как можно победить эту проблему?
Заранее благодарен!

Автор: Sish
Дата сообщения: 02.03.2010 13:34
SANIOK_AV
Попробуй убрать из SCSIRAID папку BROADCOM.
Автор: SANIOK_AV
Дата сообщения: 02.03.2010 13:58
Sish, а нет у меня там такой...
Автор: Sish
Дата сообщения: 02.03.2010 14:08
SANIOK_AV
Sorry, эт я не доглядел.

Попробуй вместо SCSIPORT SCSIRAID, что рекомендует и сам автор. В случае проблем со SCSIRAID, убери оттуда папку BROADCOM.
Автор: SANIOK_AV
Дата сообщения: 02.03.2010 15:23
Sish

Цитата:
Попробуй вместо SCSIPORT

там во всех первых трёх паках указано в скобочках (SCSIPORT)

Цитата:
Попробуй вместо SCSIPORT SCSIRAID, что рекомендует и сам автор.

Попробовал место Плагин поддержки SCSI/SATA/RAID/IDE устройств(SCSIPORT). Версия 2009_10_24. (который использовал до этого) предложеный Вами Плагин поддержки SCSI/SATA/RAID/IDE устройств.(SCSIPORT). Версия 2010_02_20.
Отругалось:
Не хватает памяти для dmboot.sys. Нажмите любую клавишу для продолжения.

Цитата:
В случае проблем со SCSIRAID, убери оттуда папку BROADCOM.

Потом убрал папку BROADCOM
Отругалось:
Не хватает памяти для ntfs.sys. Нажмите любую клавишу для продолжения.


Автор: yurkesha
Дата сообщения: 02.03.2010 15:57
SANIOK_AV
А попробуй убрать из сборки что-нить эквивалентное по весу - ну то есть любой некритичный набор плагов уменьшающий размер итоговой сборки на 15-20 мегов...
Автор: SANIOK_AV
Дата сообщения: 02.03.2010 16:27
yurkesha
убрал пару плагинов - загрузился...
но как бы они все для меня критичны...
а из-за чего так происходит?
вот я пробовал на реальном железе с озу 512мб и загружалось, а под vmware у меня 1024мб и не грузится...
Автор: yurkesha
Дата сообщения: 02.03.2010 20:42
SANIOK_AV
меняй сборщик ISO на что-нибудь другое...
Я думаю UltraISO вполне подойдет - прикрути через постобработку...
Автор: VV2006
Дата сообщения: 03.03.2010 01:29
Экспериментально найдено ещё одно решение проблемы злополучного значка сети в трее. Оказывается, изменённые в реестре параметры сетевых подключений можно применить не вполне очевидным манёвром - временным созданием произвольного (мульти)строкового параметра в разделе Connections:
Код: @FOR /F "DELIMS=" %%? IN ('REG QUERY HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318} /S^|FINDSTR \\Connection$') DO @REG ADD "%%?" /V ShowIcon /T REG_DWORD /D 1 /F>nul
@reg add hklm\System\CurrentControlSet\Control\Network\Connections /v Temp /t REG_SZ /d Temp /f>nul
@reg delete hklm\System\CurrentControlSet\Control\Network\Connections /v Temp /f>nul
Автор: SANIOK_AV
Дата сообщения: 03.03.2010 09:35
yurkesha

Цитата:
меняй сборщик ISO

я так понимаю в используемом мной конструкторе (от 7sh3) это делает mkisofs.exe ?

Цитата:
Я думаю UltraISO вполне подойдет - прикрути через постобработку...

а как это сделать, подскажите пожалуйста...
Автор: yurkesha
Дата сообщения: 03.03.2010 11:46
SANIOK_AV
В том конструкторе уже использована постобработка от Ciriano. Посмотри по ней откуда происходит вызов mkisofs и замени его на UltraISO.
Я в той постобработке не разбирался - на мой взляд она больно мудреная и ненаглядная. Поэтому сам пользуюсь своей собственной постобработкой - ее можно выдернуть из моего конструктора(хотя прикручивать ее к конструктору уважаемого 7sh3 это наверное не самое удачное решение...).

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687

Предыдущая тема: Обновления для Microsoft Windows XP


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.