[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет
  • Сообщений: 324
  • Репутация:35

    [+] [-]
GeStart WimExtractorНазвание: WimExtractor
Версия: 1.0.0.0
Автор: GemoStarter
Системные требования:
Версия ОС: Windows XP или новее
Архитектура: x86-32, x86-64-Программа для быстрого извлечения файлов из образов формата Windows Image (WIM) при помощи библиотеки WimLib. Казалось бы, зачем это нужно, если есть DISM, позволяющий смонтировать образ в папку, и 7-Zip, способный открыть его как обычный архив? Ответ - скорость: пока другие только начнут открывать образ для просмотра содержимого, WimExtractor уже выведет список файлов/каталогов в корне образа и позволит начать извлечение нужного.-Программа представлена в двух вариантах:
1) Стандартный - состоит из исполняемого файла и динамически подключаемой библиотекой wimlib. Рекомендуется к использованию.
2) Однофайловый - состоит только из исполняемого файла, библиотека wimlib находится внутри него и запускается прямо из памяти. Это нетрадиционный для Windows вариант, к тому же он лишает преимуществ динамических библиотек.
2.5) SFX-версия однофайлового варианта от dimo70, можно скачать из его сообщения.-

Дополнительная информация:

Скорость открытия образа всегда практически одинакова и очень слабо зависит от его размера - даже очень большие образы (более 50 гигабайт) открываются за пару секунд. Причина - отложенное построение списка файлов и каталогов в образе. Программа не строит всё "дерево" каталогов целиком и сразу, как это делает, скажем, 7-Zip, вместо этого содержимое каждого каталога просматривается программой только тогда, когда вы выберете его в интерфейсе.
"Узким местом" в итоге становится графический интерфейс - перенос туда внутренних списков программы занимает примерно в 10-20 раз больше времени, чем их наполнение с помощью WimLib. Для устранения "тормозов" на этом этапе также применено отложенное наполнение. Когда программа заполнит свой внутренний список и если окажется, что в нём более 100 элементов, в интерфейс сразу перенесётся только часть, остальное будет добавляться во время простоев. Практически всё время работы программ с графическим интерфейсом занято простоями, и списки тоже наполняются довольно быстро. Поэтому, если вам кажется, что какого-то файла нет в списке, попробуйте отпустить бегунок полосы прокрутки выпадающего списка - если он поползёт вверх, значит, программа просто не успела заполнить :-)

Как пользоваться:

Запустив программу, первым делом нужно указать путь к нужному WIM. Для этого справа от самого верхнего выпадающего списка есть небольшая кнопка "...", открывающая стандартный диалог выбора файла. Кроме того, можно перетащить WIM из Проводника на окно программы либо её исполняемый файл (до запуска). Либо указать путь к файлу в командной строке.
В момент запуска программа проверит папку, в которой она находится, и добавит в список все имеющиеся там файлы с расширениями "wim" и "esd". Однако ни один из них не будет автоматически открыт. Исключение - файлы с именами "pc.wim", "notebook.wim", "pc.esd" и "notebook.esd": последний найденный файл с таким именем будет автоматически открыт.
Выбранный WIM добавится в самый верхний выпадающий список. С помощью этого списка можно быстро переключаться между WIM-файлами, открытыми с момента запуска программы. После закрытия программы список нигде не сохраняется.
Второй выпадающий список позволяет выбрать нужный образ (индекс) внутри WIM.
Далее каждый выпадающий список содержит элементы файловой системы (файлы и каталоги) внутри выбранного образа. Выберите нужный каталог, и ниже появится новый выпадающий список, содержащий элементы этого каталога. Продолжайте выбирать элементы списков, пока не доберётесь до нужного вам файла. Если же вам нужно извлечь не файл, а каталог целиком, то вместо файла укажите в самом нижнем списке псевдоэлемент "[//Root]".
Добравшись до нужного объекта, нажмите кнопку "Extract" внизу и в появившемся диалоге выбора папки укажите, куда извлечь файл/каталог. Лучше всего указать пустую папку, но это необязательно - важно лишь, чтобы там не было файла/каталога с тем же именем, что вы извлекаете. К сожалению, WimLib не позволяет давать произвольные имена файлам/каталогам прямо в процессе извлечения.
Когда извлечение будет закончено, программа сообщит об этом, а в выбранной вами папке появится извлечённый объект. Если в процессе произойдёт ошибка, программа сообщит код ошибки WimLib.

О целях программы:

Изначально WimExtractor (тогда ещё AdminDP_GUI) создавался как лёгкий, быстрый и минималистичный интерфейс для драйверпака AdminDP. Драйверы там хранятся в WIM-файле, и используется монтирование этого файла в папку консольной программой ImageX. Этот WIM очень крупный, более 40 гигабайт, и его монтирование занимает несколько минут даже на довольно мощных компьютерах. Кроме того, для нормальной работы в разных версиях Windows (от XP до 10) пак тащит с собой разные версии ImageX и используемой им библиотеки WimGAPI - эти инструменты созданы Microsoft для развёртывания Windows, развиваются вместе с ней и обладают ограниченной обратной совместимостью. Из-за этого не используется максимально сильное (LZMS) сжатие WIM - старые WimGAPI не работают с ним, а монтирование его в папку не поддерживается никакими версиями.
WimExtractor позволяет открыть этот WIM-файл менее чем за 10 секунд (!) даже на довольно старых и слабых компьютерах. Даже если на чём-то "допотопном" потребуется больше времени, это всё равно будет в десятки и сотни раз быстрее, чем при использовании монтирования. Далее - одна и та же версия библиотеки WimLib поддерживает все версии Windows начиная с XP и заканчивая последними билдами 10, при этом полностью поддерживая LZMS-сжатие (знаменитые "ESD-файлы") и другие "фишки" новых версий формата WIM, что позволяет безболезненно пережать драйверпак и сэкономить место на диске, чуть-чуть потеряв в скорости работы. Кроме того, сам факт, что используется только одна версия библиотеки и нет необходимости выбирать нужную, устраняет целый пласт возможных ошибок и недоработок.
В настоящее время AdminDP не развивается, и планы по реализации всех "велосипедов" с целью получить его полнофункциональный альтернативный клиент отложены в долгий ящик. WimExtractor был дополнен и усовершенствован (появилась возможность выбрать нужный WIM вручную, поддержка нескольких индексов, отложенное наполнение выпадающих списков) с целью максимально полной реализации его главной функции - извлечения файлов из образов Windows Image.
Вложение

Стандартный вариант

Вложение

Однофайловый вариант



Последний раз редактировалось: Gemostarter (2019-11-07 14:51), всего редактировалось 8 раз(а)

[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет
  • Сообщений: 324
  • Репутация:35

    [+] [-]
Скачал-таки AdminDP. Этот его PC.wim был открыт за 2 секунды. Надо как-нибудь ещё в esd пережать. В целом же можно сказать, что изначальная цель проекта достигнута в полной мере. А ещё это значит, что wim'ы любого размера открываются за одинаковое время.

[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет
  • Сообщений: 324
  • Репутация:35

    [+] [-]
Обновлено.
Добавлена поддержка Drag&Drop
Программа помнит пути к открывавшимся wim (до перезапуска)
Реализовано отложенное наполнение списков в GUI. В теории это должно значительно сократить время, которое понадобится проге, чтобы снова начать реагировать на действия юзера, но при этом на заполнение уйдёт больше времени, и пока все выпадающие списки не будут заполнены, GUI может подтормаживать. Наполнение происходит порциями по 100 элементов, заметная разница должна быть при 1000+ элементов внутри каталога.

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 3 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
Gemostarter, спасибо за тул. Проверил драг енд дроп и скорость работы. Все прекрасно.
Тут вот что еще можно сделать - если возможно и не сложно конечно, обьединить все папки в один екзешник. aa
И еще, хорошо бы если не сложно разширить дефолтное окно справа. Вырезает содержание очень часто.

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    KottoSOFT
  • 206
  • Стаж: 9 лет 2 месяца
  • Сообщений: 562
  • Репутация:65

    [+] [-]
Gemostarter,
Привет, я на скрине написал, но например меня не устраивают варианты путей в выпадающем окне меню.
Нельзя добавить строку выбора пути извлечения распаковки?

Да и как быть с многотомниками выбор индекса там или, другой вариант?

[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет
  • Сообщений: 324
  • Репутация:35

    [+] [-]
KottoSOFT, мне кажется, вы не совсем поняли, как пользоваться. В выпадающих списках нужно выбрать путь к файлу/каталогу внутри wim, при этом каждый каталог в пути будет в отдельном списке. Если нужно выбрать "windows\explorer.exe", то сначала выбираем "windows\", а потом в магически появившемся снизу списке - "explorer.exe". Жмём кнопку extract и указываем папку, куда извлечь.
Индекс можно выбрать, список с ними у вас на скрине затемнён, потому что в образе только один индекс.
dimo70, не очень-то мне хочется извлекать либу в темп... Но подумаю.
Окно можно растягивать в ширину. Но не в высоту.

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 3 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
Gemostarter, окно можно разтягивать, я видел. Но почему разтягивать каждый раз, если можно например в двое разширить изначально?
Тогда сразу будут видны все заголовки внутри, разумеется если не очень длинные. ab
aa

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет
  • Сообщений: 324
  • Репутация:35

    [+] [-]
dimo70, Хорошо, сделаю сохранение ширины окна в реестре. Но это не раньше вторника - до рабочего компа только тогда доберусь.

[Цитировать]

    KottoSOFT
  • 206
  • Стаж: 9 лет 2 месяца
  • Сообщений: 562
  • Репутация:65

    [+] [-]
71215мне кажется, вы не совсем поняли, как пользоваться.
Похоже, что так, просто я подумал о монтировании всего Wim файла,
а в извлечении из него отдельной папки или файла не понял смысла (наверно потому, что не приходилось на практике сталкиваться с такой надобностью)
С другой стороны идея за монтировать (распаковать) Wim в подготовленный раздел добавить загрузочную запись с EasyBCD
Перезагрузить систему и передать действие программе "Завершения установки" интереснее и соблазнительнее.
Особенно если ставить систему по удалёнке (где нет возможностей баловаться с BIOS ) на начальном этапе, а объяснять человеку тупо бесполезно (попадаются такие)

[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет
  • Сообщений: 324
  • Репутация:35

    [+] [-]
71240не приходилось на практике сталкиваться с такой надобностью
Да и мне это не пришло бы в голову, кабы не AdminDP. В нём это архиудобно - уже проверил.
71240
за монтировать (распаковать) Wim в подготовленный раздел добавить загрузочную запись с EasyBCD
Перезагрузить систему и передать действие программе "Завершения установки" интереснее и соблазнительнее.
Мои взгляды на дело установки винды воплощены в EllyMinor, которая, кажется, что угодно может сделать в этой сфере. Но её настройка может быть (и будет) сложна.

[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет
  • Сообщений: 324
  • Репутация:35

    [+] [-]
Обновлено.
Добавлено запоминание ширины окна между запусками.
Добавлена версия без отдельной DLL (включена внутрь EXE, работает из памяти, файл нигде не создаётся).

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 3 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
Gemostarter, пробовал обе варианта wimextr, но что то драг енд дроп перестал сейчас работать у меня.

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет
  • Сообщений: 324
  • Репутация:35

    [+] [-]
dimo70, Проверьте: https://yadi.sk/d/hRJMjLW8FPmz5Q

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 3 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
Gemostarter, проверил wimextr_public_mem однофайловый вариант, который интересует.
Проблем не было. Все замечательно получилось. ay az
ЗЯ: С разрешением Gemostarter-а, выложу мой репак на его раздачу:
wimextr.exe
Делал для себя, может кому то пригодиться.
Изпользовал однофайловый вариант wimextr_public_mem.7z
Обьединил обе х86 и х64 файла в один екзешник с иконкой, который при запуск распаковается в temp и запускается, а после закрития самоудаляется.
Репак сделал при помощи 7zSFX Constructor. Проверил, работает. aa


Последний раз редактировалось: dimo70 (2020-06-09 19:07), всего редактировалось 1 раз

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет
  • Сообщений: 324
  • Репутация:35

    [+] [-]
Программа обновлена
Каталоги более не перемешаны с файлами, а сгруппированы вверху списков, как в файловых менеджерах.
Это финальная версия, дальнейших обновлений не планируется, разве что для исправления ошибок.

[Цитировать]

    Gadavre
  • 956
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 40
  • Репутация:-6

    [+] [-]
Программа хорошая и нужная. Только почему бы ее не доделать? Почему бы не добавить возможность не только распаковывать, но и запаковывать в WIM? ведь обычно тот, кто распаковает, потом и запаковывает обратно....

Страница 2 из 3


Показать сообщения:    

Текущее время: 28-Мар 21:26

Часовой пояс: UTC + 3


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