7-Zip SFX実行可能ファイルを作成する


7

7-Zipをいじって、自己解凍アーカイブ(SFX)実行可能ファイルを作成しています。私はドキュメンテーションに従っていましたが、私は少しも近づくことができませんでした。7-Zip 32ビットと7-Zip余分な32ビットを使用しています。

ここで、次のスクリプトを呼び出すために必要なSFXファイルを最初に作成します。

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

これにより、適切なプログラムを実行するファイルをarchive.exe持つが生成されconfig.txtます。config.txtファイルは次のようになります。

;!@Install@!UTF-8!
Title="7-Zip 4.00"
BeginPrompt="Do you want to install the 7-Zip 4.00?"
RunProgram="setup.exe"
;!@InstallEnd@!`

これによりが生成されarchive.exeます。

ドキュメントのさらに下の方で、ファイルの追加方法を説明します。setup.exeファイルを圧縮する必要があるため、次のスクリプトを使用します。

7z a -sfx a.exe setup.exe

私はこの例について混乱しています。のarchive.exe代わりに使用しa.exeますか?それを行うと、archive.exeサポートされているアーカイブタイプではないというエラーが表示されます。

名前a.exeとaを保持し、前のスクリプトを使用してファイルをsetup.exe追加archive.exeした場合、実行するのではなくローカルフォルダーにファイルを抽出するだけでした。

なんでこんなことが起こっているの?

回答:


7

私はこれをどのように機能させるかについても非常に混乱していたので、これを行う方法に関するステップバイステップの手順を作成しました。

7zip -sfxスイッチを使用してsetup.exeを実行する自己解凍アーカイブを作成する方法

ステップ1-インストールフォルダーのセットアップ

これを簡単にするには、フォルダーc:\ Installを作成します。ここで、必要なすべてのファイルをコピーします。

ステップ2-7インストーラーを圧縮する

  1. .msiとsetup.exeがあるフォルダーに移動します
  2. .msiとsetup.exeの両方を選択します
  3. 右クリックして[7Zip]-> [アーカイブに追加]を選択します
  4. アーカイブに「Installer.7z」という名前(または任意の名前)を付けます
  5. OKをクリック
  6. これで「Installer.7z」があるはずです。
  7. この.7zファイルをc:\ Installディレクトリにコピーします

ステップ3-7z-Extra sfx拡張モジュールを入手する

7z-Extraをダウンロードする必要があります。

  1. 7Zipダウンロードするには、このリンクに従ってください
  2. ベータ版には正しいファイルが含まれていないため、9.20バージョン(@ May-2015)をダウンロードする必要があります。
  3. 直接ダウンロードのリンク。
  4. 7zipの追加ファイルを抽出します
  5. ファイル「7zS.sfx」をc:\ Installにコピーします

ステップ4-config.txtのセットアップ

UTF-8でエンコードする必要があるため、NotePad ++を使用してこのテキストファイルを編集することをお勧めします。以下の手順ではnotepad ++を使用しています。

  1. Windowsエクスプローラーを使用してc:\ Installに移動します
  2. 右クリックして「新しいテキストファイル」を選択し、config.txtという名前を付けます
  3. 右クリックして「NotePad ++で編集」を選択します
  4. [エンコードメニュー]をクリックし、[UTF-8でエンコード]を選択します
  5. このようなものを入力してください:
    ;!@ Install @!UTF-8!
    Title = "SOFTWARE v1.0.0.0"
    BeginPrompt = "ソフトウェアv1.0.0.0をインストールしますか?"
    RunProgram = "setup.exe"
    ;!@ InstallEnd @!
    

[SOFTWARE v1.0.0.0]を製品名に置き換えて編集します。セットアップファイルのパラメーターとオプションに関する注意事項はこちら

チェックポイント

これで、次の3つのファイルを含むフォルダー「c:\ Install」が作成されます。

  1. Installer.7z
  2. 7zS.sfx
  3. config.txt

ステップ5-アーカイブを作成する

これらの指示はウェブで見つけましたが、上記の4つのステップのいずれも説明していませんでした。

  1. cmdウィンドウを開き、Window + R-> cmd-> Enterを押します
  2. コマンドウィンドウに次のように入力します
cd \
cdインストール
copy / b 7zS.sfx + config.txt + Installer.7z MyInstaller.exe
  1. c:\ Installを見ると、MyInstaller.exeがあることがわかります。
  2. 終わりました

インストーラーを実行する

MyInstaller.exeをダブルクリックすると、メッセージが表示されます。[OK]をクリックすると、setup.exeが実行されます。

PS自動化に関する注意

これがc:\ Installディレクトリで機能するようになったので、「Install.bat」ファイルを作成し、その中にコピースクリプトを配置します。

[csharp] copy / b 7zS.sfx + config.txt + Installer.7z MyInstaller.exe [/ csharp]

展開パッケージの新しいバージョンを再構築する必要があるたびに、Install.batを編集して実行できるようになりました。


5

7-Zip GUIを使用して自己解凍アーカイブを作成する方がはるかに簡単です。7zアーカイブを作成するときにSFXオプションを選択します。

詳細な手順については、このwikiHow記事を参照してください。

7-Zip SFXオプションのスクリーンショット(フリーハンドサークル付き)


1
ただし、これはOPが必要とする機能を提供しません。異なるSFXモジュールを使用したり、構成したりすることはできません。
ダニエルB

5

それはほぼ正しいです。

ステップでは:

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

archive.7zファイルには、すべてのファイルが含まれている7-zipアーカイブです。これが最後のステップです。

この手順の前に、setup.exeおよび必要なその他のファイルを含むarchive.7zを作成する必要があります。これを使用して作成:

7z a archive.7z setup.exe

1

これは、と簡単です7zipをSFX-パッケージャ(それがオープンソースであるの.bat、その上にファイル)と、ちょうど「ドラッグ&ドロップ」フォルダに簡単な方法、それは、ポータブル/自己解凍パッケージを作成します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.