2

InnoIDE のウィザードを使用して、非常に単純な inno スクリプトを作成しました。ただし、デプロイされた実行可能ファイルは、通常のユーザーが実行できます。ユーザーがスクリプトを使用して管理者として実行する必要があることを強制するにはどうすればよいですか?

[Setup]
AppId={{03E6645E-2C53-4E90-967B-D0833A8EBDAF}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
PrivilegesRequired=admin

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "                {cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "C:\Program Files\Inno Setup 5\Examples\MyProg.exe"; DestDir: {app}; Flags: ignoreversion; Permissions: admins-readexec; 
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: {app}\{#MyAppExeName}; Description: "{cm:LaunchProgram,    {#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent; 
4

2 に答える 2

3

Inno を使用して、アプリケーションのアクセス許可またはマニフェストを変更することはできません。

アプリケーションに管理者権限を求めるようにするには、適切なマニフェストをアプリケーションに追加する必要があります。これはプログラミング言語ごとに異なりますが、関連する多くの質問がすでに尋ねられ、回答されています。

于 2012-08-02T09:37:41.323 に答える
0

アプリケーションに管理者権限を要求させる簡単な方法:

実行可能ファイルのレジストリ キーに次の値を追加します。

[Registry]
Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\{#MyAppExeName}"; ValueData: "RUNASADMIN"; Flags: uninsdeletevalue

私は通常、上記のコードを使用することを好みます。

于 2015-08-31T07:14:31.007 に答える