7zip - Create self-extracting Archive (sfx) with specified Extract path

I would like to change the Extract Path to %AppData%\Roaming by default.

You need to download a "modified module" from 7z SFX Builder (sourceforge).

Check the links on the left for documentation (note these links and the text below is from https://web.archive.org/)

In your configuration file:

InstallPath="%AppData%\Roaming"

Configuration file parameters

InstallPath="path_to_extract"

Sets the extraction path. The extraction folder will not be deleted after the extraction.

If the InstallPath value is not present in the config file or the path was deleted from the interactive extraction dialog, the archive will be extracted to a temporary folder. This temporary folder will be deleted after the extraction and execution of all commands.

Environment variables are allowed (with the exception of %%T and variables defined in SetEnvironment, if %%T is used in any of them). You MUST use DOUBLE backslashes in paths. For example:

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

or

InstallPath="%PROGRAMFILES%\\test"

Relative paths are allowed. The current folder is the one from which the program launching SFX archive was executed. For example,

InstallPath="test"

creates a folder with the name of "test" in the folder from which the program launching SFX archive was executed. All files will be extracted to the "test" folder. On the other hand,

InstallPath="."

extracts the archive content to the folder from which the program launching SFX archive was executed. Also,

InstallPath="%%S"

extracts the archive content to the folder where the SFX is located.

If all you need is to extract the archive content to a certain folder, you need to specify a value for InstallPath in the config file.

In this case you should not specify RunProgram or ExecuteFile in the config file. AutoInstall or AutoInstallX may be specified in the config file, but should not be invoked via the command line or with the [SHIFT] key.

If you specify RunProgram or ExecuteFile or invoke AutoInstall and AutoInstallX, the specified executable will be launched after the extraction.

Source Configuration file parameters


Try 7z SFX Builder, it's free, supports command line parameters, and also you can specify extraction path on the GUI Main Tab:

Main tab