Утилита rt_add

Утилита rt_add предназначена для вставки и замены ресурсов.

Синтаксис командной строки:

rt_add filename option option option ...

filename - путь и имя PE32, PE32+, RES файла или сборки .NET.

Если имя файла или опция содержат пробелы, то их необходимо заключить в кавычки. Например

rt_add "c:\test files\somefile.exe" -i"MAINICON,main icon.ico"

При запуске rt_add без параметров отображается справка об опциях командной строки.

Общие опции:

[ ] - необязательный параметр.
-q - отключение отображения информационных сообщений.

Опции для ресурсов Win32:

-r:"%type,%name[,%language],%file - вставка/замена Win32 ресурса.
-i:"%name[,%language],%file - вставка/замена ресурса иконки.
-c:"%name[,%language],%file" - вставка/замена ресурса курсора.
-f:"[[%type],[%name],[%language],]%res_file" - вставка/замена ресурсов на ресурсы, хранящиеся в PE32, PE32+ или RES файле %res_file
-m - вставка манифеста стилей XP. Если ресурс версии отсутствует, то он также вставляется.
-v - вставка ресурса версии. Также ресурс версии можно вставить с помощью утилиты rt_version.

Параметры:

%type - тип ресурса. Если тип не указан (опция -f), то обрабатываются все типы ресурсов. Для указания типа, являющегося индексом, необходимо указать символ #, после которого должен следовать индекс.
%name - имя ресурса. Если имя не указано (опция -f), то обрабатываются все ресурсы указанного типа. Если имя является индексом, то необходимо указать символ #, после которого должен следовать индекс.
%language - десятичный код языка, шестнадцатеричный код языка (0x...) или название языка. Если этот параметр не указан, то используется нейтральный язык (NEUTRAL, код 0). Получить список всех поддерживаемых языков можно с помощью утилиты rt_language.
%file - имя файла, данные из которого будут вставлены.
%res_file - имя PE32, PE32+ или RES файла, ресурсы из которого будут вставлены.

Примечание:

При вставке Win32 ресурсов в PE32, PE32+ файлы, если в файле отсутствует секция ресурсов, то производится ее создание.


Опции для ресурсов .NET:

-ar:[%name,]%file - вставка ресурса %name, который будет содержать данные из файла %file. Если имя ресурса не задано, то устанавливается имя ресурса в соответствии с именем файла %file с расширением, но без указания пути.
-af:[%name,]%file - копирование ресурса %name из сборки %file в сборку filename. Если имя ресурса %name не задано, то производится копирование всех ресурсов.

Параметры:

%name - имя ресурса.
%file - путь и имя файла.


Примеры использования

Вставка в файл somepefile изображения из файла picture.png в виде Win32 ресурса LOGO, тип ресурсов PNG, язык нейтральный:

rt_add "c:\test files\somefile.exe" -r:PNG,LOGO,picture.png

Тоже самое, но у ресурса устанавливается русский язык:

rt_add "c:\test files\somefile.exe" -r:PNG,LOGO,RUSSIAN,picture.png

Тоже самое, но у ресурса устанавливается язык с шестнадцатеричным кодом 409:

rt_add "c:\test files\somefile.exe" -r:PNG,LOGO,0x409,picture.png

Тоже самое, но ресурс вместо имени имеет индекс 3:

rt_add "c:\test files\somefile.exe" -r:PNG,#3,0x409,picture.png

Копирование всех Win32 ресурсов из файла sourcefile в somepefile:

rt_add "c:\test files\somefile.exe" -f:sourcefile

Тоже самое для ресурсов .NET:

rt_add "c:\test files\somefile.exe" -af:sourcefile

Вставка iconfile.ico в качестве главной иконки:

rt_add "c:\test files\somefile.exe" -i:MAINICON,iconfile.ico