Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Исходники и статьи
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.11.2013, 19:51
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию [ Исходник ] Работа с WIM-файлами в Delphi

Что это такое?
WIM - формат образов Windows. Как установочных, так и "снятых" с других компьютеров.
Зачем с ними нужно работать?
В данный конкретный момент я пишу оболочку для загрузочного диска, которая умеет, в частности, устанавливать операционную систему из таких образов. Установка, на самом деле, разделена на 3 этапа:
  1. Разбиение диска на разделы
  2. Распаковка образа системы из install.wim
  3. Установка загрузчика и копирование загрузочных файлов
Что можно сделать?
У нас есть Windows Imaging API, на котором, по сути, основана вся работа утилиты imagex, и треть работы setup.exe с любого установочного диска Windows (Vista и выше).
Можно распаковывать архивы, создавать новые, изменять существующие, получать и записывать обратно информацию об образе системы...
Исходник
Собственно, программы для нормального редактирования информации об образе я и не нашёл. Хотя небольшое гугление показало, что спрос на такую есть.
Недолго думая, я набросал это:


Минималистичный интерфейс, небольшая защита от дурака неправильных нажатий в виде заблокированных кнопок...
Что можно доработать:
  • Заменить memo на SynEdit с целью подсветки синтаксиса
  • Кинуть на форму XPManifest (ради красивостей винды - мне, как видно по скрину, не до этого)
  • Добавить функционал по желанию
Исходник + .exe
mega.co.nz, 7z, 320Kb
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj

Последний раз редактировалось PhoeniX, 04.11.2013 в 20:03.
Ответить с цитированием
Этот пользователь сказал Спасибо PhoeniX за это полезное сообщение:
golem (18.02.2014)
  #2  
Старый 04.11.2013, 19:58
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

http://code.google.com/p/superobject/
Компонент отображающий XML в виде дерева (см. папку superobjectv1.2.4.zip\demos\VirtualTreeView).

ИМХО, редактировать XML ручками - это есть извращение.

З.Ы. Кинь пример wim файла.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию

Последний раз редактировалось M.A.D.M.A.N., 04.11.2013 в 20:06.
Ответить с цитированием
  #3  
Старый 04.11.2013, 20:13
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Пару гигов сюда заливать? Скачай любую сборку винды (хоть MSDN с рутрекера), и глянь файл \sources\install.wim
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj

Последний раз редактировалось PhoeniX, 04.11.2013 в 20:36.
Ответить с цитированием
  #4  
Старый 05.11.2013, 01:11
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 577
Версия Delphi: 6
Репутация: выкл
По умолчанию

У меня под XP не сработала, тупо написав, что не может открыть файл. Подозрение пало на wimgapi.dll, посмотрел ее tdump-ом, она требует Windows 7. Выдавал бы уж более информативное сообщение об ошибке, раз такое дело. Ну, или в своей программе тоже Windows 6.1 требовал бы.
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием
  #5  
Старый 05.11.2013, 12:39
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Хм, программа пытается открыть файл в read/write, так что если пытаешься открыть файл прямо с диска/образа, то возможно падение с ошибкой.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #6  
Старый 18.02.2014, 10:54
Аватар для golem
golem golem вне форума
Прохожий
 
Регистрация: 18.02.2014
Сообщения: 4
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

PhoeniX классная прога у тебя получилась, все работает если образ-wim копировать на жесткий диск, твою программу я бы назвал как правка xml-файла вручную. Хотел попросить, а можеш переделать так программу чтобы в выпадающем списке не выбирать просто номер образа (которые просто перечисленны подряд) а например параметр NAME, так будет более понятно, а то приходится запоминать под каким номером находится редакция
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter