Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Ж.Д.А.Л.К.Е.Р.

Ветеран


Contributor


Сообщения: 1861
Благодарности: 868

Профиль | Отправить PM | Цитировать


Небольшая заметка, может кому будет полезной.

7zsdrc.exe (25 Кб) - консольная утилита от Oleg_Sch для чтения/изменения ресурсов модифицированного модуля.

Цитата:
USAGE: 7zsdrc sfxfilename [switches]
Switches:
-a: Use ANSI encoding (default)
-o: Use OEM encoding
-fv "a.b.c.d": change file version
-pv "a.b.c.d": change product version
-vs "name=value"
-vi "filename": save version info to file
-i "icon_filename[,index]": change icon from icon_filename
-if "WxHxD": use icon format
-si "filename": save icon to .ico file
-sh: Shrink resource section
-sh1: Shrink resource section to actual data size
-f "filename": use command line from file 'filename'
-rsi: Resource section info
Примеры:
Код: Выделить весь код
Экспорт свойств файла setup.exe в setup.res.
7zsdrc.exe setup.exe -vi setup.res

Применение команд записанных в file.res к файлу 7zsd_LZMA2.sfx.
7zsdrc.exe 7zsd_LZMA2.sfx -f file.res

Замена иконки модуля 7zsd_LZMA2.sfx иконкой из файла iconfile.ico.
7zsdrc.exe 7zsd_LZMA2.sfx -i iconfile.ico
Примечание:
Столкнулся с тем что некоторые ехе не используют всех полей в свойствах файла. Поэтому при экспорте свойств в файл пишутся пустышки, а когда применяем этот файл ресурсов на модифицированный модуль - возникают пустые поля. Решить эту проблему можно так:
Код: Выделить весь код
7zsdrc.exe setup.exe -si iconfile.ico -vi setup.res
>setup-cut.res FindStr /v "="" setup.res
Move /y setup-cut.res setup.res >Nul
7zsdrc.exe 7zsd_LZMA2.sfx -i iconfile.ico -f setup.res
Команда FindStr отсекает пустышки, а модифицированный модуль (в примере 7zsd_LZMA2.sfx) должен быть без полей свойств (иначе не перезаписанные поля останутся и будет каша из копирайтов).

Последний раз редактировалось Ж.Д.А.Л.К.Е.Р., 10-03-2015 в 17:20.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:56, 10-03-2015 | #1555