SuperUserエキスパートの皆様
よろしくお願いします。 7Zip SFXアーカイブを取得して実行可能ファイルを作成しようとしています。実行ファイルを取得できます。しかし、実行すると、Extract to:
のダウンロードパスが表示されます。デフォルトで%AppData%\Roaming
に変更したいと思います。下のスクリーンショットは、私が何をしようとしているのかを示しています。
アーカイブ内にはsetup.exeなどはありません。Roaming
フォルダーに移動する必要があるファイルはほんのわずかです。これは、パスを指定せずにこのアップデートを入手できる多くのユーザー向けです。 (ユーザーがパスを指定する必要がない場合は常に簡単です。それ以外の場合は、ユーザーが最も変わったパスを選択できるのが私の経験です。)
ありがとうございました。
更新
これが私がこれまでに試したことです。私の設定ファイルの内容は
;!@Install@!UTF-8!
InstallPath="%AppData%\\Roaming\\Notepad++"
;!@InstallEnd@!
これはコマンドライン呼び出しです。
copy /b 7zS.sfx + config.txt + Installer.7z myinstaller.exe
残念ながら動作しません。次のパスを提供します。 %AppData%\\Roaming\\Notepad++
である必要があります。
[
7z SFX Builderを試してみてください。無料で、コマンドラインパラメータをサポートしています。また、GUIメインタブ:
%AppData%\Roaming
_に変更したいと思います。7z SFX Builder (sourceforge)から「変更されたモジュール」をダウンロードする必要があります。
左側のリンク のドキュメントを確認してください(これらのリンクと以下のテキストは https://web.archive.org/ からのものです)
構成ファイルで:
_InstallPath="%AppData%\Roaming"
_
InstallPath = "path_to_extract"
抽出パスを設定します。解凍後、解凍フォルダーは削除されません。
InstallPath
値が構成ファイルに存在しないか、パスが対話型抽出ダイアログから削除された場合、アーカイブは一時フォルダーに抽出されます。この一時フォルダは、すべてのコマンドを抽出して実行すると削除されます。環境変数は許可されます(_
%%T
_および_%%T
_がそれらのいずれかで使用されている場合、SetEnvironment
で定義された変数を除く)。パスにはDOUBLEバックスラッシュを使用する必要があります。例えば:_InstallPath="C:\\Windows\\system32\\test"
_または
_InstallPath="%PROGRAMFILES%\\test"
_相対パスを使用できます。現在のフォルダーは、SFXアーカイブを起動するプログラムが実行されたフォルダーです。例えば、
_InstallPath="test"
_sFXアーカイブを起動するプログラムが実行されたフォルダに「test」という名前のフォルダを作成します。すべてのファイルが「test」フォルダーに抽出されます。一方、
_InstallPath="."
_sFXアーカイブを起動するプログラムが実行されたフォルダーにアーカイブコンテンツを抽出します。また、
_InstallPath="%%S"
_sFXが配置されているフォルダーにアーカイブコンテンツを抽出します。
アーカイブコンテンツを特定のフォルダーに抽出するだけの場合は、構成ファイルで
InstallPath
の値を指定する必要があります。この場合、設定ファイルで
RunProgram
またはExecuteFile
を指定しないでください。AutoInstall
またはAutoInstallX
は設定ファイルで指定できますが、コマンドラインまたは[SHIFT]キーを使用して呼び出すことはできません。
RunProgram
またはExecuteFile
を指定するか、AutoInstall
およびAutoInstallX
を呼び出すと、指定した実行可能ファイルが抽出後に起動されます。
ソース 構成ファイルのパラメーター
-y -o<PathToExtract>
:Setup.exe -y -oc:\abc