Документация по WIM_FILE(поддержка WIM-плагинов)
Основной скрипт плагина wim_loader.cmd создан для удобства использования WIM-упакованных приложений.
Основная идея простая - монтирование WIM по заведомо уникальному пути и запуск программы в случае наличия описания или указания исполняемого файла через параметры командной строки. Если же описания нет или параметр не указан - открыть смонтированную папку в выбранном файловом менеджере(по-умолчанию EXPLORER).
Несмотря на кажущуюся сложность скрипта он достаточно прост в применении.
Вот полное описание всех параметров и форматов ввода:
=====================================================
Способы использования скрипта wim_loader.cmd
(даны в порядке убывания приоритетов обработки):
=====================================================
1. Запуск с указанием всех параметров из командной строки
(3 обязательных и 2 необязательных):
1-й - обязательный - WIM-файл для монтирования - полный путь
2-й - обязательный и равен 2 - это признак указания всех параметров из командной строки при его указании игнорируются параметры
из файла запуска
3-й - обязательный - файл для запуска - имя исполняемого файла
с относительным путем внутри WIM - без имени секции)
4-й - необязательный - секция WIM-файла для монтирования - если
не указано то будет использована секция "по умолчанию"
5-й - необязательный - путь для монтирования - полный путь -
если не указано будет использован путь "по умолчанию".
Условие срабатывания:
Скрипт считает что использован этот способ если второй параметр командной строки равен 2
=====================================================
2. Запуск с подхватыванием параметров запуска из внешнего файла запуска <имя wim-файла без расширения>_wim_par.ini
Принимает 1 обязательный параметр из командной строки:
1-й - обязательный - WIM-файл для монтирования - полный путь
Файл описания запуска должен содержать следующие параметры:
FILE_LOAD = <файл для запуска> - имя исполняемого файла для запуска после монтирования с относительным путем внутри WIM -
без имени секции - обязательный!
WIM_SECTION = <имя секции WIM-файла для запуска> - если не указано будет использована секция "по умолчанию"
MOUNT_PATHS = <путь для монтирования> - если не указано
будет использован путь "по умолчанию"
Условие срабатывания:
Скрипт считает что использован этот способ если второй параметр командной строки отустствует и существует файл
<имя wim-файла без расширения>_wim_par.ini
=====================================================
3. Запуск с подхватыванием параметров запуска из файла _wim_par.ini
расположенного в корне секции для монтирования
Принимает 1 обязательный
1-й - обязательный - WIM-файл для монтирования - полный путь
Файл описания запуска должен содержать следующие параметры:
FILE_LOAD = <файл для запуска> - имя исполняемого файла для запуска после монтирования с относительным путем внутри WIM -
без имени секции - обязательный!
При этом для монтирования всегда используется секция "по умолчанию" то есть 1.
Для монтирования будет использован путь "по умолчанию"
Условие срабатывания:
Скрипт считает что использован этот способ если второй параметр командной строки отустствует и не существует файл
<имя wim-файла без расширения>_wim_par.ini
=====================================================
Теперь примеры:
=====================================================
Предположим мы имеем WIM-файл nod40.wim с секцией 1(то есть создавался по умолчанию), расположенный в %ProgramFiles%\NOD32_40 (то есть при обычной загрузке это абсолютный путь X:\PROGRAMS\NOD32_40). Файлы расположены в корне во вложенной папке NOD32. Так же предполагаем что файл для запуска - скрипт egui.cmd расположенный во вложенной папке NOD32 внутри WIM-файла.
=====================================================
1. Запуск с указанием всех параметров из командной строки
минимальный набор параметров запуска:
wim_loader.cmd "%ProgramFiles%\NOD32_40\nod40.wim" 2 NOD32\egui.cmd
максимальный набор параметров запуска:
wim_loader.cmd "%ProgramFiles%\NOD32_40\nod40.wim" 2 NOD32\egui.cmd 1 "%TEMP%\MY_NOD"
=====================================================
2. Запуск с подхватыванием параметров запуска из внешнего файла запуска
Создамим внешний ini-файл nod40_wim_par.ini в той же папке
где находится nod40.wim
Минимальное содержимое файла nod40_wim_par.ini:
FILE_LOAD=NOD32\egui.cmd
Максимальное содержимое файла nod40_wim_par.ini:
FILE_LOAD=NOD32\egui.cmd
WIM_SECTION=1
MOUNT_PATHS=%TEMP%\MY_NOD32
вызов производится так:
wim_loader.cmd "%ProgramFiles%\NOD32_40\nod40.wim"
=====================================================
3. Запуск с подхватыванием параметров запуска из файла _wim_par.ini
расположенного в корне секции для монтирования
Содержимое файла _wim_par.ini:
FILE_LOAD=egui.cmd
вызов производится так:
wim_loader.cmd "%ProgramFiles%\NOD32_40\nod40.wim"
=====================================================
Общие замечания:
=====================================================
При указании параметров командной строки содержащих пробелы
обязательно обрамляйте их двойными кавычками!
Также обязательно наличие в %SystemRoot%\system32 утилиты imagex.exe"
Путь для монтирования "по умолчанию":
%TEMP%\WIM_PRG\DISK_<Буква диска содержащего WIM-файл>\<путь WIM-файла>\<имя WIM-файла>
Секция для монтирования "по умолчанию": 1
Оба варианта INI-файлов cчитывают именованные параметры без учета секций
Символ ";" является символом коментария.
Если одноименный параметр будет встречен несколько раз то значение
будет считано из последней строки с таким параметром.
Пробелы до знака "=" и сразу после него игнорируются.
Так как обработка расширения WIM у меня реализована таким путем:
0x2, "Classes\wimfile\Shell\open\command",,"%SystemRoot%\SYSTEM32\wim_loader.cmd ""%1"""
то для второго и третьего типов запуска команда
wim_loader.cmd "<имя и путь wim-файла с расширением>"
генерится автоматически - вам остается только обеспечить наличие
нужного WIM-файла.
=====================================================
Приоритеты срабатывания методов монтирования:
=====================================================
- Если указано более одного параметра запуска скрипта - то наличие INI-файлов
рядом или внутри WIM-файла игнорируется - наивысший приоритет.
- Если указан только 1 параметр и рядом с WIM-файлом находится INI-файл вида
<имя wim-файла без расширения>_wim_par.ini
наличие INI-файлов внутри WIM-файла игнорируется - средний приоритет
- Если указан только 1 параметр и рядом с WIM-файлом нет INF-файл вида
<имя wim-файла без расширения>_wim_par.ini то обрабатывается INI-файл внутри WIM-файла - низший приоритет.
- Если указан только 1 параметр и рядом с WIM-файлом нет INF-файл вида
<имя wim-файла без расширения>_wim_par.ini и отсутствует INI-файл
внутри WIM-файла - WIM смонтируется и будет открыта папка монтирования в текущем шелле.
Сейчас на сайте
1 пользователь онлайн.
- scuba
Популярное сегодня
Пользователи
- scuba
- Timer
- vitako
- Снег
- naro91
- alex_dss
- njnksdffjfsk
- saul
- cac101
- drn01025
Комментарии