10

Привет эксперты 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++ .

[ Извлечь путь]

3 ответа3

6

Я хотел бы изменить путь извлечения на %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 , указанный исполняемый файл будет запущен после извлечения.

Параметры файла конфигурации источника

3

Попробуйте 7z SFX Builder, он бесплатный, поддерживает параметры командной строки, а также вы можете указать путь извлечения на главной вкладке GUI:

Главная вкладка

-2

Просто используйте -y -oPathtoextract

например, Setup.exe -y -oc:\abc

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .