11

次のように、7zip を使用して SFX を作成します。

7z.exe a -r archive.7z *

次に、7zS.sfx ファイル (自己解凍インストーラーの作成に使用)、構成ファイル「build.config」、およびアーカイブを使用してバイナリ コピーを作成します。構成ファイルの内容は次のとおりです。

;!@Install@!UTF-8!
RunProgram="setup.exe"
GUIMode="1"
Path="%tmp%\\mytemp"
;!@InstallEnd@!

バイナリコピーコマンドは次のとおりです。

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

問題は、結果の SFX "sfxInstaller.exe" の実行に管理者権限が必要なことです。管理者権限を必要としない 7-Zip を使用して自己解凍アーカイブを生成することは可能ですか? その場合、どのパラメーター/コマンド ライン引数を使用すればよいですか? 前もって感謝します。

4

6 に答える 6

2

元の 7zs.sfx にマニフェスト ファイルを埋め込んで、親プロセスと同じアクセス トークンでエクストラクタを実行するよう Windows に通知できます。これにより、ユーザーがログインしている場合、通常のユーザーとして自己エクストラクターが実行されます。

次のリンクでは、Visual Studio 2005 を使用してマニフェスト ファイルを実行可能ファイルに埋め込む方法について説明していますが、それ以降のバージョンでも同じプロセスが適用されます。https://support.microsoft.com/kb/944276

「requestedExecutionLevel」を「asInvoker」に設定するマニフェスト ファイルを埋め込むと、変更された 7sz.sfx を使用して通常の方法で作成された自己解凍アーカイブは管理者権限を必要としません。

于 2014-11-26T11:58:32.970 に答える
1

MiscFlags="4"設定ファイルに入れます。これで問題が解決するはずです。

次のようになります。

;!@Install@!UTF-8!
RunProgram="setup.exe"
GUIMode="1"
Path="%tmp%\\mytemp"
MiscFlags="4"
;!@InstallEnd@!
于 2015-01-18T05:49:36.147 に答える
1

残念ながら、管理者権限を必要としない 7zip を使用して SFX を生成する方法は見つかりませんでした。他の SFX ジェネレーターをいくつか試した結果、私のニーズを完全に満たすIExpressに落ち着きました。

于 2013-10-10T11:05:41.517 に答える