6

私はいくつかのUACの問題で立ち往生しています(私は推測します)。

私の質問は次のとおりです。一部のアプリケーションのこの UAC Shield アイコンは何を意味しますか? そして、このアイコンを Inno Setup に取得するにはどうすればよいsetup.exeですか?

4

2 に答える 2

6

Inno Setup インストーラーには、デフォルトで管理者権限が必要です (インストーラーの作成者によってカスタマイズされていない場合)。ユーザーが Windows で UAC 設定を変更しなかった場合、UAC ポップアップがトリガーされます。

http://www.jrsoftware.org/ishelp/index.php?topic=setup_privilegesrequired

[Setup]:PrivilegesRequired

有効な値: nonepoweruseradmin、またはlowest

デフォルト値: admin

説明: このディレクティブの効果は、ユーザーが実行している Windows のバージョンによって異なります。

于 2013-01-24T10:51:17.563 に答える
1

他の人が言ったように、Inno Setupはデフォルトで管理者権限を必要とし、UACプロンプトをトリガーします。で変更できますPrivilegesRequired。これの問題は、実行可能ファイルに盾のアイコンが表示されないことです。


これを行う最善の方法は、Microsoft の マニフェスト ツールを使用して、実行可能ファイルに埋め込まれたマニフェストを変更することです。これは通常、 Microsoftから無料でダウンロードできるMicrosoft SDKに含まれています。インストールすると、マニフェスト ツールは通常、 にありC:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\bin\mt.exeます。一部のSDKには含まれていないことに注意してください。SDKをインストールしたくない場合は、 https://github.com/eladkarako/mtにもあります。

  • 実行可能ファイルからマニフェストを抽出するには、コマンド ラインでこれを実行します。"path to mt.exe" -inputresource:"path_filename.exe";#1 -out:"path_filename.exe.manifest"
  • in に変更asInvokerします (マニフェスト ファイルは実際には XML であるため、テキスト エディターで編集できます)。requireAdministratorpath_filename.exe.manifest
  • マニフェストを実行可能ファイルに入れるには:"path to mt.exe" -manifest "path_filename.exe.manifest" -outputresource:"path_filename.exe";1

ほら!実行可能ファイルには、何があっても盾のアイコンが表示されるようになりました!


あまり役に立たない別の方法があります。レジストリで実行可能ファイルを管理者として実行するように変更できます (実行可能ファイルを右クリック --> [プロパティ] --> [互換性] --> [管理者として実行] をオンにするのと同じ)。これを行うには、実行可能ファイルのパス + ファイル名として設定された名前を持ち、 data/text を含む文字列値を作成しますRUNASADMIN。値は次の場所に作成する必要があります。

  • HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers現在のユーザー用に変更したい場合
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersすべてのユーザーに対して変更したい場合 (これには通常、管理者権限が必要です)

問題は、実行可能ファイルを移動した場合 (最初からやり直す必要がある場合)、または他の人に渡した場合 (実行する必要があるか、何らかのツールを実行して実行する必要がある場合) に持ち越されないことです。 . これは役に立ちません。

于 2018-05-16T07:53:56.853 に答える