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

» Windows Preinstallation Environment(WinPE). WinBuilder

Автор: coherent
Дата сообщения: 19.10.2007 09:27
7sh3
Вопрос к коду. В первой строчке только "\PROGRAMS\. Это не описка? Там не должно быть, как в последней строчке, "%SystemDrive%\Programs\? Нашел в соседней ветке твой пост (уже после, как задал вопрос), так там еще есть "X:\PROGRAMS\.
Это конкретно для DrWeb. Хотелось бы узнать стандартный подход. Я устанавливаю программы чере анинстоллер, поэтому знаю все записи, которые делаются в реестр. Просмотрел разные готовые скрипты. Там есть встречается такое
"%RAMDriveLetter%\
"#$q#$pSystemDrive#$p\%workDir%\
Меня интересует такое, если писать самому, то как будет правильно:
RegWrite,"HKLM",0x2,"WB-software\Classes\CLSID\{e7593602-124b-47c9-9f73-a69308edc973}\InProcServer32","","%RAMDriveLetter%\DrWeb\drwsxtn.dll"
или
RegWrite,HKLM,0x2,"WB-Software\Classes\CLSID\{23170F69-40C1-278A-1000-000100020000}\InprocServer32","","#$q#$pSystemDrive#$p\%workDir%\DrWeb\drwsxtn.dll#$q"

и от чего это зависит?
Автор: 7sh3
Дата сообщения: 19.10.2007 13:51
coherent
это регистрация регсервером библиотеки drwsxtn.dll, по поводу "\PROGRAMS\ и "X:\PROGRAMS\ - без разницы, но надо чтобы это строка в реестре (App Paths) обязательно была REG_SZ а не REG_EXPAND_SZ
Автор: NIKZZZZ
Дата сообщения: 19.10.2007 14:49
coherent

Цитата:
Меня интересует такое, если писать самому, то как будет правильно:

%RAMDriveLetter%\DrWeb\drwsxtn.dll - если существует RamDrive то это будет диск b:\ , что неверно.

7sh3

Цитата:
но надо чтобы это строка в реестре (App Paths) обязательно была REG_SZ а не REG_EXPAND_SZ

Но ведь у тебя именно REG_EXPAND_SZ (0x2)

Цитата:
0x2,"Classes\CLSID\{e7593602-124b-47c9-9f73-a69308edc973}\InProcServer32","","%SystemDrive%\Programs\DrWeb\drwsxtn.dll"



Автор: 7sh3
Дата сообщения: 19.10.2007 14:55
NIKZZZZ
я про эту строку 0x1,"Microsoft\Windows\CurrentVersion\App Paths\DrWeb32W.Exe","","\PROGRAMS\DrWeb\DrWeb32W.Exe" если будет REG_EXPAND_SZ (0x2) то само меню в контекстном будет но не будет работать
Автор: coherent
Дата сообщения: 19.10.2007 15:46
7sh3
NIKZZZZ
Извините чайника, но я не все понял. Поэтому объясните, пожалуйста, на конкретном примере. Есть записи из реестра:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\DrWeb32W.Exe]
"Path"="C:\\Program Files\\DrWeb"
@="C:\\Program Files\\DrWeb\\DrWeb32W.Exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{e7593602-124b-47c9-9f73-a69308edc973}]
@="Shell Extension for DrWeb"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{e7593602-124b-47c9-9f73-a69308edc973}\InProcServer32]
@="C:\\Program Files\\DrWeb\\drwsxtn.dll"
"ThreadingModel"="Apartment"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\DrWMenuHandlers]
@="{e7593602-124b-47c9-9f73-a69308edc973}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shellex\ContextMenuHandlers\DrWMenuHandlers]
@="{e7593602-124b-47c9-9f73-a69308edc973}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
"{e7593602-124b-47c9-9f73-a69308edc973}"="Shell Extension for DrWeb"

Как эти 6 записей переписать в скрипт. Руками, без конвертации и импорта рег-файла.
Заранее благодарен
Автор: 7sh3
Дата сообщения: 19.10.2007 18:21
coherent
ну просто конвертируй прогой inf2script из шапки тот код что я привел и все

NIKZZZZ
а что для Winbuilder нет ничего типа ConvRegToInf как для Барта чтобы сразу из регфайла конвертить в скрипт?
Автор: NIKZZZZ
Дата сообщения: 19.10.2007 18:34
7sh3

Цитата:
Winbuilder нет ничего типа ConvRegToInf как для Барта чтобы сразу из регфайла конвертить в скрипт?

Я писал такую прогу. inf2script - конвертор Барт-инф файлов и Reg2Script .reg => .script, .bat,.au3
Автор: Victor_Dobrov
Дата сообщения: 22.10.2007 04:10
Как создавать ярлыки к программам на CD?
Например, я дописываю на CD программу CDROM:\Apps\App.exe. Как сделать, чтобы в папке 'Программы' появился ярлык для App.exe?
Автор: NIKZZZZ
Дата сообщения: 22.10.2007 13:01
Victor_Dobrov

Цитата:
Как создавать ярлыки к программам на CD?

Описание этого можно найти, зайдя в скрипт BuildModel (кнопка "Help")
Можно так-же посмотреть любой скрипт, создающий ярлыки. Пример:

Код: [ShorcutDesktop]
Run,%BuildModelScript%,Add-Shortcut,"DE","#$pSystemroot#$p\system32\wordpad.exe","WordPad"

[ShorcutStart]
Run,%BuildModelScript%,Add-Shortcut,"AC","#$pSystemroot#$p\system32\wordpad.exe","WordPad"
Автор: Victor_Dobrov
Дата сообщения: 22.10.2007 14:32
NIKZZZZ - Я включаю в проекте NativePE только скрипты, необходимые для системы (шелл, твики, драйверы). А если выбрать ещё кучу приложений (среди которых нет нужных мне), то образ WinPE.img очень долго грузится в оперативку.
Удобнее на CDROM (флэшку) добавить отдельную папку с утилитами, и запустить перед minlogon.exe скрипт, который определяет букву CDROM и создаёт ярлыки к многим нужным программам, например:

Run,%BuildModelScript%,Add-Shortcut,"DE","%CDROM%\TotalCmd\totalcmd.exe","Total Commander",-SP:/i=%CDROM%\TotalCmd\wincmd.ini#$q#$s#$q-SF:%CDROM%\TotalCmd\totalcmd.exe

Проблема в том, что после загрузки WinPE системный диск имеет букву X:, а буква CDROM может быть всякая. Так как определить букву CDROM или флэшки, чтобы правильно создать ярлыки?
Автор: NIKZZZZ
Дата сообщения: 22.10.2007 15:20
Victor_Dobrov

Цитата:
буква CDROM может быть всякая.

Я не правильно понял вопрос. При загрузке системы не используя RamBoot, буква будет всегда х:\ , иначе ярлыки нужно создавать динамически, либо присваивать CD определенную букву. А если их несколько?
Я написал подобную прогу, правда изначальна она предназначалась для других целей - запуск программ с внешних носителей (портавле-софт). Идея такова - динамически отслеживаются внешние носители (USB,CD) и по определенным критериям добавляются ярлыки на раб. стол, в меню пуск и т.д. При удалении носителя ярлыки исчезают. Это оказалось очень удобным при загрузке системы в Ram - вытащил диск, и все ярлыки недоступных программы исчезли. Вставил новый CD или флэшку - новое меню.
Саму прогу можно забрать здесь.
Скрипт под нее с небольшим набором программ. (каталог "PePrograms" необходимо скопировать в корень CD или флэшки)



Автор: Victor_Dobrov
Дата сообщения: 23.10.2007 02:02
NIKZZZZ, благодарю! (я уже пролистал весь топик по этой проблеме)
Автор: coherent
Дата сообщения: 25.10.2007 08:56
Посоветуйте, пожалуйста, где можно почитать об особенностях использования символов типа %, #, $, p и т.д. в скриптах. Насколько я понимаю, это не есть особенностями только скриптового языка ВинБилдера. Из какой это области программирования? Пробовал в гугл, но безрезультатно.
Заранее благодарен.
Автор: HighwayStar
Дата сообщения: 25.10.2007 11:30
coherent

Цитата:
пожалуйста, где можно почитать об особенностях использования символов типа
Это не отдельные сивмолы, используются их сочетания:
#$q - кавычка
#$c - запятая
#$s - пробел
#$x - конец строки
#$p - знак %
Дело в том, что такие символы как кавычка, запятая и т.п используются в скриптах как элементы синтаксиса, и если надо передать например в командную строку с кавычкой или пробелом то вместо пробела надо использовать #$s и соответственно #$q вместо кавычки. Так же такая потребность часто возникает при записи в текстовые файлы каких либо параметров посредством WB скрпта.
Гугулить в принипе бесполезно -это чисто WB сочетания.
ЗЫ нажми в окне редактирования скрипта правую кнопку - там есть все эти символы им и функции винбилдера с краткими комментариями
Автор: coherent
Дата сообщения: 25.10.2007 12:46
HighwayStar
Спасибо! Кое-что начинает проясняться! Как все оказывается просто!
Автор: yarikoslav
Дата сообщения: 26.10.2007 11:36
Всем привет!

У меня есть такой вопросик - как можно интегрировать программы в установку Винды, чтоб после установки у меня уже были установлены проги (часто уже видел такие загрузочные диски, но как самому сделать - без понятия).

Максимум, что смог - это более автоматизировать установку (прогой nLitе). Софтина отличная, да вот только проги интегрировать не получается (только обновления винды).

Заранее благодарен!
Автор: euheny
Дата сообщения: 27.10.2007 00:07
yarikoslav
Интересно - а какую взаимосвязь ты усматриваеш своего вопроса с данной темой ?
Автор: NIKZZZZ
Дата сообщения: 29.10.2007 09:52
yarikoslav

Цитата:
У меня есть такой вопросик - как можно интегрировать программы в установку Винды

Вопрос , действительно не по теме, посмотри тему nLite или аддоны на самом сайте nLite.
Автор: coherent
Дата сообщения: 29.10.2007 11:12
Объясните, пожалуйста, как в WinPE получить доступ к реестру системы, установленной на жестком диске, чтобы можна было исправить что-то Regedit-ом или почистить Regcleaner-ом, например?
Спасибо!
Автор: NIKZZZZ
Дата сообщения: 29.10.2007 11:51
coherent

Цитата:
Объясните, пожалуйста, как в WinPE получить доступ к реестру системы

Способ стандартный - запустить RegEdit и загрузить кусты реестра, подключив реальные файлы установленной системы.
Можно воспользоваться ErdCommander'ом который сделает это автоматически.

Цитата:
почистить Regcleaner-ом, например

А вот такие вещи не пройдут. Regcleaner будет чистить саму WinPe, а не реестр установленной системы.



Автор: coherent
Дата сообщения: 29.10.2007 15:12
NIKZZZZ

Цитата:
Способ стандартный - запустить RegEdit и загрузить кусты реестра, подключив реальные файлы установленной системы.

Можно подробней, как загружать кусты реестра, подключив реальные файлы установленной системы.

2. Касательно чистки реестра. Нашел плагины для BartPE: Regcleaner, ACEUtilities. Не помню по памяти все.
Я не понимаю, зачем они тогда нужны. Чистить реестр WinPE? Зачем? Тем более на диск эти изменения не запишешь!

Добавлено
загрузить кусты реестра - это через импорт файла реестра в меню "Реестр" RegEdit?
Автор: 7sh3
Дата сообщения: 30.10.2007 02:12
NIKZZZZ

Цитата:
А вот такие вещи не пройдут.

не, довольно много прог все-таки работает как положено через RunScanner, юзается только чужой реестр, можно кстати и готовый скрипт сделать в шапку а то так и буду спрашивать, в скрипте про контекстное меню не забудь для exe и reg, удобно иногда использовать
Автор: coherent
Дата сообщения: 30.10.2007 10:31
7sh3
а можно пример хоть одной такой проги, пусть даже для BartPE?
Автор: 7sh3
Дата сообщения: 30.10.2007 12:51
coherent
Double Driver, Ad-Aware SE, Advanced EFS Data Recovery, CCleaner...
безотносительно к прогам RunScanner прежде всего это простой и быстрый доступ к чужому реестру с помощью стандартного RegEdit
Автор: coherent
Дата сообщения: 30.10.2007 14:49
7sh3
Спасибо! Зашел по твоей ссылке. Вроде с RunScanner разобрался. Буду пробовать.
Попутно вопрос:
при эмуляции в qEmu у меня "не видно" винчестер. Это нормально или я что-то неправильно делаю?
Автор: NIKZZZZ
Дата сообщения: 30.10.2007 19:49
coherent

Цитата:
Можно подробней, как загружать кусты реестра


Основные ветки реестра хранятся:
HKLM\SYSTEM - \system32\config\system
HKLM\SOFTWARE - \system32\config\software
HKU\.DEFAULT - \system32\config\default
HKLM\SECURITY - \system32\config\security

Кроме этого в \Documents and Setting\...\ntuser.dat хранятся локальные настройки для конкретного пользователя (ветки типа HKU\S-X-X-XX)

Для редактирования нужной ветки запускаем RegEdit, меню файл->загрузить куст цепляем нужный файл под любым именем, редактируем новую ветку, выгружаем куст - меню файл->выгрузить куст.
Автор: coherent
Дата сообщения: 31.10.2007 16:34
NIKZZZZ
Спасибо! Теперь все понятно.
Автор: coherent
Дата сообщения: 01.11.2007 10:29
Мэтры!
Объясните, пожалуйста, как в WB осуществляется запуск приложений с виртуального диска.

Просмотрел скрипты приложений (проект LiveXP). Там везде в shortcuts указан путь к ехе-файлам, т.е. cmd-файлов (как в BartPE) типа

setlocal
if "%temp%" == "" goto _err
if exist "%temp%\...
xcopy "%SystemDrive%\Programs…
и т.д.
endlocal

я не обнаружил. Может в WB как-то по-другому, есть своя специфика?

И еще вопрос
- откуда вообще известно, какую прогу можно запускать с СД, а какую надо с виртуального диска. Понятно, что те, которые требуют возможность записи на диск при работе, но откуда это известно? Из опыта или, ну не знаю…

Заранее благодарен!
Автор: NIKZZZZ
Дата сообщения: 01.11.2007 13:07
coherent

Цитата:
Там везде в shortcuts указан путь к ехе-файлам

Вместо указанного батника удобнее создать самораспаковывающийся SFX архив, например RAR, который после окончания работы проги к тому-же удалит ее с виртуального диска.
Но наиболее целесообразно использовать BootSdi или FBWF - проблема исчезнет.

Цитата:
какую прогу можно запускать с СД, а какую надо с виртуального диска.

Чисто экспериментально. Например, запустив прогу и посмотрев, меняется ли что-либо в ее каталоге, но это не дает полной гарантии.



Автор: reff
Дата сообщения: 01.11.2007 13:27
NIKZZZZ

Цитата:
Чисто экспериментально. Например, запустив прогу и посмотрев, меняется ли что-либо в ее каталоге, но это не дает полной гарантии.
Regmon и Filemon дадут больше уверенности.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: ntfs ИЛИ fat 32?


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