Помощь - Поиск - Пользователи - Календарь
Полная версия: WinRAR самораспаковывающиеся архивы
CTPAX-X > Всё остальное > Полезности
Siberian GRemlin
Есть на руках самораспаковывающийся архивчик WinRAR, который сам ставит шрифты в папку со шрифтами мастдая, причём поверх системных и используемых в текущий момент, Arial и пр.

Появилась необходимость создать подобный архив - чтобы при распаковки ещё и свои шрифты в систему поставил и зарегистрировал. Как это можно сделать?!
jTommy
QUOTE(Siberian GRemlin @ Oct 1 2006, 08:24 PM) *

Есть на руках самораспаковывающийся архивчик WinRAR, который сам ставит шрифты в папку со шрифтами мастдая, причём поверх системных и используемых в текущий момент, Arial и пр.

Появилась необходимость создать подобный архив - чтобы при распаковки ещё и свои шрифты в систему поставил и зарегистрировал. Как это можно сделать?!

Написать маленькую программу(а может быть и bat-файла будет достаточно), которая регистрирует шрифты в системе. Эту программу запаковать в архив со шрифтами, а в опциях при упаковке указать RAR'у, чтобы он запускал эту прогу после распаковки и потом ее удалял. Наверное, только так.

Заодно открой этот sfx архив в WinRAR'е и посмотри главный комментарий, там скорее всего будут команды скрипта.
Siberian GRemlin
QUOTE(jTommy @ Oct 2 2006, 01:18 AM) *

Заодно открой этот sfx архив в WinRAR'е и посмотри главный комментарий, там скорее всего будут команды скрипта.


Посмотрел:
QUOTE

delete=arial.ttf
delete=arialbd.ttf
delete=cour.ttf
delete=courbd.ttf
delete=times.ttf
delete=timesbd.ttf
delete=PLCC____.ttf
silent


Как я понял, он сначала в папке назначения удаляет шрифты, потом извлекает свои. Как он умудряется в обход винды это делать?! В архиве только шрифты...
jTommy
Цитата из справки WinRAR'а:
QUOTE

Delete=<имя файла>

Перед началом извлечения удаляет указанный файл в папке назначения. Допускается использовать несколько команд Delete.
Если указанный в команде Delete файл заблокирован и не может быть удален, SFX-модуль попытается перед извлечением переименовать его, дав временное имя, а после перезагрузки Windows - удалить. Успех этой операции зависит от используемой версии Windows.
Решил проверить. Попробовал удалить arial.ttf - не удаляется, говорит Access Denied. Попробовал переименовать - запросто переименовывается.
Ёжики
QUOTE
Есть на руках самораспаковывающийся архивчик WinRAR, который сам ставит шрифты в папку со шрифтами мастдая, причём поверх системных и используемых в текущий момент, Arial и пр.

Можно глянуть?

Можно попробовать прогу в батнике Unlocker (только я не в курсе, поддерживает ли она командную строку). Переименовать запущенный файл можно без проблем.

Siberian GRemlin

Может оно просто переименовывает старые шрифты, распаковывает свои, регистрирует их в реестре, а потом ставит в RunOnce удаление старых? Жаль, нет возможности проверить.
Это упрощенная версия форума. Для просмотра полной версии нажмите нажмите сюда.
Invision Power Board © 2001-2026 Invision Power Services, Inc.