Процесс замены файлов в SFX-архиве
Подскажи - как в sfx поменять файлы? Есть программа в sfx, а я хочу в ней один файлик поменять.
-Простая замена "файлика" в SFX-архиве не прокатит - тут нужна полная переупаковка SFX-архива с применением ком. строки
-Для этого тебе понадобится
Модифицированный модуль (7zip ) (а точнее \Модифицированный модуль (7zip )\Стабильная\
7ZSplit.exe из этого архива)
В принципе там всё расписано в: Все о 7z SFX модуле.chm\Первые шаги\
Первые шаги к созданию SFX архива...но я опишу тебе чуть подробнее этот момент (с небольшими уточнениями)
-На примере разберём и соберём заново SFX-архив \_WIN\UTILITES\
SOURCES.7ZПереименовываем его в
SOURCES.EXE и закидываем его вместе с
7ZSplit.exe в любую созданную тобой папку (без пробелов и кириллицы)
Всё мы "распаковали" SFX-архив
SOURCES.EXE, который состоит из
SOURCES.7z (сам архив, в котором мы будем заменять "файлик"),
SOURCES.sfx (модуль с помощью которого и получается в последствие SFX-архив),
SOURCES.txt (файл конфигурации, в котором прописывается комада на то, что должен будет впоследствие выполнить этот SFX-архив).
Теперь важный момент:Распаковываем архив
SOURCES.7z (простая замена файлика в самом архиве не прокатит, нужна будет обязательная переупаковка архива и (
ВАЖНО!!!) с
LZMA-сжатием.
И так распаковываем архив (в нём лежит папка
sources, в которой и производим "замену файлика"). Сам архив
SOURCES.7z можешь теперь удалить (или переместить куда-нибудь (так на всякий случай))
Теперь правим в папке
sources всё, что нам нужно (добавляем/удаляем/заменяем файлы)
После того, как мы произвели изменения (замену "файликов") в папке
sources, нам нужно заново её переупаковать в "новый" наш
SOURCES.7z архив с
LZMA-сжатием.
Упаковываем с помощью архиватора
7-Zip вот с такими параметрами:
Всё мы переупаковали
SOURCES.7z...папку
sources и SFX-архив
SOURCES.EXE можно удалить (они нам больше не нужны)
Далее копируем путь к папке с нашими файлами:
Запускаем ком. строку (
cmd.exe) от имени администратора: (жмём
Win+R, вводим
cmd /k и жмём
Enter)
В открывшемся окне консоли вводим команду:
cd путь_к_папке_с_файлами и жмём
Enter.
(у меня например эта команда:
cd C:\Users\Serzh\Desktop\SFX86)
Должно будет выглядеть это примерно вот так:
Теперь для упаковки этих файлов в SFX-архив вбиваем в консоль команду:
COPY /b sources.sfx + sources.txt + sources.7z sources.exe и жмём
EnterВсё, мы переупаковали в новый SFX-архив
sources.exe (при необходимости, а в данном случае этот SFX-архив необходим для работы с утилитой
78Setup, переименовываем этот SFX-архив
sources.exe в
sources.7z)