-1

プログラムのインストール用の NSIS スクリプトを作成し、フォルダーに入れています。フォルダーは NSIS 経由で圧縮されます。誰かが zip ファイルを 1 回クリックすると、それが解凍され、NSIS スクリプトがフォルダーに実行されます。しかし、どのように?

更新:もう一度説明します。NSIS には、NSIS スクリプト用のコンパイラと ZIP ベースのインストーラがあります。まず、フォルダーにいくつかのプログラムをインストールするための NSIS スクリプトを作成します。NSIS スクリプトの実行が機能しています。フォルダは送信したくないが、ファイルは 1 つだけ送信したい。そのため、ZIP ベースのインストーラーを使用してフォルダーを圧縮しています。しかし、圧縮されたファイルをクリックすると、NSIS スクリプトを実行せずにデスクトップで解凍されます。そのため、NSIS スクリプトをフォルダーにクリックする必要があります。私がしたくないこと!圧縮されたファイルのみをクリックすると、解凍されて NSIS スクリプトが自動的に実行されます。明らかに?

4

2 に答える 2

0

.zipファイルはコードを実行できません。

注:ZIP2EXE NSISツールは内部でmakensisを使用します。これは、単純なインストーラーを作成する単なるヘルパーアプリケーションです。

于 2012-11-16T04:37:42.683 に答える
0

あなたの質問は紛らわしいですが、あなたがしたいことは、複数のファイルを含む自己解凍アーカイブを作成し、そのアーカイブに含まれる NSIS インストーラーを実行して解凍することだと思います。

7zipでこれを行うことができます。

これは、DOS バッチ ファイルを使用して行うのが最も簡単です。メモ帳を開いて作成"selfinstall.bat"

以下を追加します。

(
  ECHO ;!@Install@!UTF-8!
  ECHO Title="My Installer"
  ECHO BeginPrompt="Do you want to run the installer?"
  ECHO ExecuteFile="Setup.exe"
  ECHO ;!@InstallEnd@!
) > temp.$$$

これにより、タイトル (My Installer) や実行する実行可能ファイルの名前 (Setup.exe) など、自己抽出ツールが必要とする情報が設定されます。

次に、行を追加して zip ファイルを作成します

7z a -r files.7z myfolder

myfolder は、すべてのファイルを含むフォルダーの名前です。

ここで、インストーラーを追加します。インストーラー (Setup.exe) が .7z ファイルのルートにあることを確認してください。

7z a files.7z Setup.exe

次に、セルフ エクストラクターと 7z を 1 つの実行可能ファイルにコピーします。

copy /b 7z.sfx + temp.$$$ + files.7z "Install.exe"

次に、一時ファイルを削除します

del files.7z
del temp.$$$

ここで見たスクリプトからこれを適応させました。http://www.911cd.net/forums//index.php?showtopic=18845 .SFX モジュールの詳細については、こちらを参照してください。http://7zsfx.info/en/

これを実現するための GUI 用の sourceforge プロジェクトもあります。http://sourceforge.net/projects/sfx-maker/

于 2012-12-06T16:04:29.573 に答える