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

» Windows Preinstallation Environment(WinPE) и BartPE LiveCD 7

Автор: Chiefparty
Дата сообщения: 30.07.2010 12:40

Цитата:
Chiefparty
Оно?

Не, не получается создать объект, не хватает чего-то.

Добавлено:
Не, вру, просто путь неправильный прописал до ie. СпасиБо за помощь
Автор: mat86
Дата сообщения: 30.07.2010 16:26
Выпилить из конфига вы имели ввиду удалить строчку
Цитата:
ExeDir=%SystemDrive%\Programs\erd2005\
пробовал и с ней и без, не запускается. Я так понимаю не заработает SetTargetRoot под чистым BS Explorer без подвешеных библиотек shdocvw.dll и browseui.dll. Если знаете, подскажите как их правильно подвесить
Автор: VV2006
Дата сообщения: 30.07.2010 16:49
mat86
Цитата:
как их правильно подвесить
За... гм, запросто! При варианте с BS Explorer их регистрация не обязательна, они просто должны быть в system32. У тебя они там есть? Пути вызова SetTargetRoot прописаны правильно?
Автор: mat86
Дата сообщения: 30.07.2010 17:25
Да в system32 они лежат, SetTargetRoot я даже вручную запускаю. У меня папка i386 переименовывается в BART, может это как то мешает, но я в настройках BSExplorer это прописал. Запускаю SetTargetRoot он диалог не выдает как будто сам он нашел С:\windows, но запускаеш любую из erd2005 они не работают с С:\windows. Также и с erdroot он выдает "невозможно использовать my documents. Выбирите другую" жму окей выбераю С:\windows и запускаю любую из erd2005 и они не работают с С:\windows. Как будто я ее не выбрал


Добавлено:
интересно, когда запускаеш вручную Locksmith.exe он ругается что не выбрана ось и не запускается. А когда со сриптом SetTargetRoot.cmd он запускается но выскакивает другая ошибка "error opening account database"
Автор: VV2006
Дата сообщения: 30.07.2010 17:59
mat86, глянь вывод команды set, что у тебя значится в SystemRoot и WinDir? По-твоему должно быть =X:\BART. И указан ли путь к папке System32 в значениях Path?
Попробуй также вручную выбрать целевую папку винды, например так: SetTargetRoot.exe C:\WINDOWS.
Автор: mat86
Дата сообщения: 30.07.2010 18:28
подскажите пожалуйста как глянуть вывод команды set и где посмотреть что значится в SystemRoot и WinDir? Выбрал вручную целевую папку винды через командную строку: SetTargetRoot.exe C:\WINDOWS, ничего непоменялось.
Автор: VV2006
Дата сообщения: 30.07.2010 19:11

Цитата:
как глянуть вывод команды set
Пуск (Start)-CMD line, или Пуск (Start)-Выполнить-набрать cmd, Enter. В чорном-пречорном окне набрать set и строго обязательно щщолкнуть Enter. Про файл-менеджеры молчу, там тоже можно.
Автор: mat86
Дата сообщения: 30.07.2010 22:35

команда set в черном-причерном окне cmd до выполнения SetTargetRoot.exe:

Цитата:
X:\BART\SYSTEM32>set
ALLUSERSPROFILE=X:\Documents and Settings\All Users
AutoRun=1
COMPUTERNAME=MININT-JVC
ComSpec=X:\BART\system32\cmd.exe
OS=Windows_NT
Path=X:\BART;X:\BART\System32;X:\Bin
PATHEXT=.COM;.EXE;.BAT;.CMD
PROMPT=$P$G
ramdrv=B:
SystemDriwe=X:
SystemRoot=X:\BART
temp=B:\TEMP
tmp=B:\
windir=X=\BART

X:\BART\SVSTEM32>


после выполнения SetTargetRoot.exe:

Цитата:
X:\BART\SYSTEM32>set
ALLUSERSPROFILE=X:\Documents and Settings\All Users
flutoRun=1
COMPUTERNAME=MININT-JVC
ComSpec=X:\BHRT\system32\cmd.exe
OS=Windows_NT
Path=X:\BART;X:\BART\System32;X:\Bin
РЙТНЕХТ=.СОМ;.EXE;.BAT;.CMD
PROMPT=$P$G
ramdrv=B:
SystenDriwe=X:
SystemRoot=X:\BART
TARGET_ROOT=C:\WINXP
TARGET_vERSI0N=S.1.2600.5512
tenp=B:\TEMP
tnp=B:\
windir=X:\BART
X:\BART\SVSTEM32>

Автор: OpenGL32
Дата сообщения: 31.07.2010 10:08
Подскажите как динамически изменить переменную окружения TEMP?

Меняю в HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment

Затем как сказано в http://support.microsoft.com/?kbid=104011 посылаю широковещательное сообщение всем приложениям

SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0,
(LPARAM) "Environment", SMTO_ABORTIFHUNG,
5000, &dwReturnValue);

но приложения по прежнему лезут в %systemroot%\temp (((

Из под обычно загруженной винды этот вариант работает, из под WinPE нет.

Есть еще варианты?
Автор: Alexey32
Дата сообщения: 31.07.2010 12:02
OpenGL32
А если в винде в HKLM\SYSTEM\Setup сделать CmdLine="explorer.exe", SystemSetupInProgress="1", SetupType="1" и перезагрузить? Только учти, что после загрузки SetupType обращается в ноль, и если его вручную не поставить в единицу, то винда не запустится. Чтобы всё вернуть обратно, достаточно SystemSetupInProgress="0", SetupType="0".
Автор: VV2006
Дата сообщения: 31.07.2010 12:45
OpenGL32

Цитата:
Есть еще варианты?
set temp=B:\TEMP
Автор: OpenGL32
Дата сообщения: 31.07.2010 13:11
Alexey32
А зачем это все?

Я делаю сборку на базе чистой WinPE 3.0, нужно чтобы при загрузке оболочки была возможность выбрать (переназначить) каталог временных файлов.

VV2006
ну так это только для текущего процесса.

Можно прописать в реестре изначально например C:\TEMP, но хотелось бы назначать произвольный каталог.
Автор: Alexey32
Дата сообщения: 31.07.2010 14:08
OpenGL32
Это для чистоты эксперимента. Эти два параметра в реестре - главное и, по сути, единственное отличие winpe от обыкновенной винды. Если не будет работать - позапускай службы.
Автор: mat86
Дата сообщения: 31.07.2010 18:37
Интересная идея переместить temp на диск С, когда машина старая и памяти мало, антивирус не помещается. А можно ли чтобы %ramdrive% перенести на С:, ну чтобы все пути В: переназначит на С: ?
Автор: OpenGL32
Дата сообщения: 31.07.2010 19:00
mat86
Вот и я о том же. Было бы неплохо чтобы temp по умолчанию находился в systemroot или ram-диске на случай отсутствия/повреждения жесткого диска, а при его наличии была возможность создать temp на произвольном разделе.
Автор: NIKZZZZ
Дата сообщения: 31.07.2010 19:16
OpenGL32

Цитата:
была возможность создать temp на произвольном разделе.

А кто мешает создать в контекстном меню пункт "Запустить с %temp%=С:\TEMP" ?

Автор: VV2006
Дата сообщения: 31.07.2010 19:18
Ничего не понимаю: в любое время можно (пере)назначить переменной temp любое значение, соответствующее реально существующему пути. А виртуальный диск на хард C!

Автор: NIKZZZZ
Дата сообщения: 31.07.2010 19:41
VV2006

Цитата:
в любое время можно (пере)назначить переменной temp любое значение

Имеется ввиду, что если просто поправить реестр, изменения вступят в силу после перезагрузки.
Для изменения без перезагрузки (на лету) есть специальные утилиты, например SetEnv.exe или Setx.exe от Microsoft.

Автор: mat86
Дата сообщения: 31.07.2010 19:44

Цитата:
Ничего не понимаю: в любое время можно (пере)назначить переменной temp любое значение, соответствующее реально существующему пути. А виртуальный диск на хард C
Каким образом? Просто у меня пока не получается и я подумал о таком варианте переназначить в реестре пути виртуального диска В на С
Автор: NIKZZZZ
Дата сообщения: 31.07.2010 19:58
mat86

Цитата:
Каким образом?

Скачиваешь SetX, извлекаешь из пакета SetX.exe, далее выполняешь

Код: SetX.exe Temp c:\temp
Автор: OpenGL32
Дата сообщения: 31.07.2010 20:04

Цитата:
Имеется ввиду, что если просто поправить реестр, изменения вступят в силу после перезагрузки.
Для изменения без перезагрузки (на лету) есть специальные утилиты, например SetEnv.exe или Setx.exe от Microsoft.


Да имеется ввиду именно это. Вот только не работают эти утилиты ((, причем в обычной винде тоже, если после изменения в cmd набрать set то увидим новые значение, а если из своей программы вызвать getenv("temp") (GetTempPath) то путь остается прежним ((

Похоже что без перезагрузки не обойтись, либо надо как-то вносить изменения в реестр еще до того как произойдет инициализация профиля.
Автор: mat86
Дата сообщения: 31.07.2010 20:11

Цитата:
Скачиваешь SetX, извлекаешь из пакета SetX.exe, далее выполняешь

Код:SetX.exe Temp c:\temp
Я попробовал, без перезагрузки не меняется, программы распаковывающиеся в temp на B:\ так и распаковываются
Автор: Polo
Дата сообщения: 31.07.2010 20:19
Скажите пожалуйста, как в конструктор BARTPE выбрать часовой пояс (нужен московский) а то создает 0 по Гринвичу ?
Автор: NIKZZZZ
Дата сообщения: 31.07.2010 20:31
mat86

Цитата:
Я попробовал, без перезагрузки не меняется

Проверил на своей сборке, все нормально отрабатывается.
Проверь наличие файлов LPK.DLL и USP10.DLL
Автор: mat86
Дата сообщения: 31.07.2010 20:39
присутствуют, у меня сборка на BSExplorer, может это влияет?
Автор: OpenGL32
Дата сообщения: 31.07.2010 20:42
NIKZZZZ
А попробуй после изменения запустить программу которая распаковывает свои файлы в temp (например DrWeb CureIt)

Что-то мне уже кажется что сменить HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment без перезагрузки вообще невозможно, так как эти переменные устанавливаются Session Manager-ом еще до загрузки Win32
Автор: mat86
Дата сообщения: 31.07.2010 20:59
Обратился к знакомому праграмисту, сказал можно сделать программу которая заставит перечитать реестр не перезагружая. Но не факт что заработает, и не факт что под бартом. Сказал что проще запускать программу с командой
Цитата:
"Запустить с %temp%=С:\TEMP"
как уже писал NIKZZZZ

Автор: NIKZZZZ
Дата сообщения: 31.07.2010 21:04
OpenGL32

Цитата:
например DrWeb CureIt

Она распаковывается не в %Temp% , а в %Tmp%
Меняй обе переменные, у меня нет проблем.

mat86

Цитата:
у меня сборка на BSExplorer, может это влияет?

Не знаю, попробовать не на чем.


Автор: aftertime
Дата сообщения: 31.07.2010 21:07
собираю последним на данный момент конструктором BartPE+XPE от 7sh3, почему то при старте очень долго (15-30 секунд, зависит от конфигурации компьютера) идет определения размера рамдрайва (авторамсайзер от NIKZZZZ). подскажите, где неувязка?
[more=pe_imdisk.cmd]@echo off
:: *----------------------------------------------------------------------------*
:: ïàðàìåòðû ñòàðòà %ramdrv% NTFS 4 64 70 % RAMDisk /c íàõîäÿòñÿ â imdisk.inf â ñòðîêå íèæå
:: 0x1,"Microsoft\Windows\CurrentVersion\RunOnceEx\100","100","||xpeinit.exe -f -m ""Âèðòóàëüíûé äèñê (ImDisk)..."" run-imdisk.cmd %ramdrv% NTFS 4 64 70 % RAMDisk /c"
:: %1=MountPoint %2=FileSystem %3=MinSize %4=Reserv %5=Size %6=Unit %7=label %8=Pack
:: %1=%ramdrv% %2=NTFS %3=4 %4=64 %5=70 %6=% %7=RAMDisk %8=/c
:: "MinSize" - The minimum size RamDisk
:: "Reserv" - It is reserved under system
:: "MaxSize=XXX" - The maximum size RamDisk
:: "MaxSize=XXX" - More than MaxSize=128 - not stable in ramboot build with video driver
:: *----------------------------------------------------------------------------*
set MaxSize=2048
:: *----------------------------------------------------------------------------*
set FileSystem=%2
set Pack=%8
:: *----------------------------------------------------------------------------*
:: Ƹñòêî çàäàòü ðàçìåð ïàìÿòè, íåèçìåíÿåìûé (íå ðàñ÷èòûâàþùèéñÿ) ïðè çàãðóçêå
:: *----------------------------------------------------------------------------*
if "%6"=="M" (
set "Size=%5"
goto _1
)
:: *----------------------------------------------------------------------------*
:: Ðàññ÷¸ò äèñêà B: ïðè çàãðóçêå LiveCD
:: *----------------------------------------------------------------------------*
for /f "usebackq skip=1 tokens=3 delims=: " %%i in (`RamStatus.exe`) do set size=%%i
set /a size=%size%/1024
set /a "size=(%size%-%4)*%5/100"
if %size% lss %3 set size=%3
:_1
:: *----------------------------------------------------------------------------*
:: There is no sense to use NTFS for small disks
:: *----------------------------------------------------------------------------*
if %size% lss 16 set "FileSystem=fat"
:: *----------------------------------------------------------------------------*
:: Packing is incompatible with FAT
:: *----------------------------------------------------------------------------*
if "%FileSystem%"=="fat" set "Pack= "
if %size% GTR %MaxSize% set size=%MaxSize%
imdisk.exe -a -t vm -m %1 -s %size%M -p "/fs:%FileSystem% /q /y /v:%7 %Pack%"
:: *----------------------------------------------------------------------------*[/more]
Автор: mat86
Дата сообщения: 31.07.2010 21:12
NIKZZZZ, вы применили команду
Цитата:
SetX.exe Temp c:\temp
и команду
Цитата:
SetX.exe Tmp c:\tmp
без перезагрузки, запустили DrWeb CureIt и она распаковалась в с:\tmp?


Добавлено:
А у меня так и распаковывается в B:\

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677

Предыдущая тема: обновления в эксплорере с вирусом?


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