7zip - Створіть саморозпаковується Архів (sfx) із заданим контуром Extract


15

Привіт, експерти SuperUser,

Дякую за вашу допомогу в просуванні. Я намагаюся отримати архів 7zip SFX для створення виконуваного файлу. Я в змозі отримати виконуваний файл. Але коли я запускаю його, він дає шлях завантаження Extract to:. Я хотів би змінити %AppData%\Roamingза замовчуванням. Знімок екрана нижче дасть уявлення про те, що я намагаюся зробити.

7zip налаштування

Витягнути до: діалогове вікно

Всередині архіву немає setup.exe або чогось іншого, у ньому є лише кілька файлів, які потрібно перейти до Roamingпапки. Це для багатьох наших користувачів, які можуть отримати ці оновлення, не вказавши шлях. (Це завжди легко, коли користувачі не повинні вказувати шлях, інакше, як я вважаю, користувачі можуть вибирати самі незвичайні шляхи !!)

Дякую.

Оновлення

Ось що я спробував поки що. вміст мого конфігураційного файлу

;!@Install@!UTF-8!
InstallPath="%AppData%\\Roaming\\Notepad++"
;!@InstallEnd@!

Це виклик командного рядка.

copy /b 7zS.sfx + config.txt + Installer.7z myinstaller.exe

На жаль, це не працює . Він дає такий шлях. Це повинно бути %AppData%\\Roaming\\Notepad++.

[Витягнути шлях]


Ця опція доступна з WinRAR, але не знаю про 7-блискавку.
Не корінь сюди, плз ...

Відповіді:


7

Спробуйте 7z SFX Builder , він безкоштовний, підтримує параметри командного рядка, а також ви можете вказати шлях вилучення на головній вкладці GUI :

Головна вкладка


омегастріп, він чудово працює. Дякую. Він має дивовижну кількість варіантів. Дуже дякую.
Gifcrazy

McAfee видаляє exe після встановлення через троянського коня ...
Lieven Cardoen

8

Я хотів би змінити Екстракт-шлях %AppData%\Roamingза замовчуванням.

Вам потрібно завантажити "модифікований модуль" з 7z SFX Builder (sourceforge).

Перевірте посилання зліва на предмет документації (зверніть увагу на ці посилання, а текст нижче - на https://web.archive.org/ )

У файлі конфігурації:

InstallPath="%AppData%\Roaming"

Параметри файлу конфігурації

InstallPath = "path_to_extract"

Встановлює шлях видобутку. Папка вилучення після вилучення не буде видалена.

Якщо InstallPathзначення немає в конфігураційному файлі або шлях був видалений з діалогового діалогу інтерактивного вилучення, архів буде вилучено у тимчасову папку. Ця тимчасова папка буде видалена після вилучення та виконання всіх команд.

Змінні середовища дозволяються (за винятком %%Tі змінних, визначених у SetEnvironment, якщо %%Tвони використовуються в будь-якій з них). Ви ОБОВ'ЯЗКОВО використовуєте ДВОЙНИЙ косий ривок на шляху. Наприклад:

InstallPath="C:\\Windows\\system32\\test"

або

InstallPath="%PROGRAMFILES%\\test"

Дозволені відносні шляхи. Поточна папка - це та, з якої виконувалася програма, що запускає архів SFX. Наприклад,

InstallPath="test"

створює папку з назвою "test" у папці, з якої виконувалась програма запуску архіву SFX. Усі файли будуть вилучені в папку "test". З іншої сторони,

InstallPath="."

витягує вміст архіву в папку, з якої виконувалася програма, що запускає архів SFX. Також,

InstallPath="%%S"

витягує архівний вміст у папку, де знаходиться SFX.

Якщо все, що вам потрібно, це витягнути архівний вміст у певну папку, вам потрібно вказати значення InstallPathв конфігураційному файлі.

У цьому випадку вам не слід вказувати RunProgramабо ExecuteFileконфігураційний файл. AutoInstallабо AutoInstallXможе бути вказано у конфігураційному файлі, але його не слід викликати через командний рядок або за допомогою клавіші [SHIFT].

Якщо ви вкажете RunProgramабо ExecuteFileвикликте AutoInstallі AutoInstallX, то вказаний виконуваний файл буде запущений після вилучення.

Параметри файлу конфігурації джерела


Дякую, Девід. Але ви можете мені сказати, як використовувати конфігураційний файл?
Gifcrazy

@Cricrazy Див. Загальну інформацію про модифікований модуль, який потрібно завантажити, і перевірте посилання зліва. Відповідь оновлено.
DavidPostill

Цей параметр конфігурації 7-Zip InstallPath- це саме те, що я шукаю. На даний момент мені потрібно створити пакетний файл, щоб скопіювати файли з папки тимчасового вилучення в папку часу роботи програми: ;!@Install@!UTF-8! Title="Local Manager" InstallPath="C:\kiosk\update" RunProgram="7zbootstrap.bat" ;!@InstallEnd@! @ECHO OFF REM 7zbootstrap.bat SETLOCAL SET update=C:\Kiosk\update XCOPY *.* %update%\ /S /E /I /F /Y CD %update% ECHO LAUNCHING AUTOUPDATE.BAT SCRIPT TIMEOUT /T 5 /NOBREAK autoUpdate.bat Однак посилання більше не працює.
паперова стрічка

Неможливо отримати міні-розмітку для форматування блоку коду належним чином. Будь ласка, виправте, якщо ви знаєте, як. Дякую.
паперова стрічка

@papertape Нове посилання є sourceforge.net/projects/s-zipsfxbuilder
DavidPostill

0

Просто використовуйте -y -o<PathToExtract>:Setup.exe -y -oc:\abc


2
ви можете навести приклад? що таке, наприклад, -oc?
Gifcrazy

1
"наприклад" означає "expempli gratia", що в основному означає "наприклад". Його зазвичай використовують для вказівки прикладу так само, як ви просите. Відповідь все ще є чітким поясненням і може використовувати форматування, але це НЕ включає повний приклад.
music2myear

Якщо ви можете розробити команду? Ви завжди повинні давати інформацію про те, які команди будуть робити, оскільки користувач з іншого боку буде насторожено ставитися до команд з функціями, яких вони не знають.
Сервіс-менеджер

Параметри командного рядка передаються до вміщеного Exe.
Казарк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.