2012-02-08 8 views
1

Eclipseでlaunch4jのANTタスクを使用して、自分のJavaプログラムのWindows実行可能EXEファイルを作成し、それを "MyApp.exe"という名前にします。 Windowsシステムで管理者認証なしで実行するには、このプログラムが必要です。 これまでのところ、これは動作します。 UACのプロンプトが表示されなくても正常に動作します。特定の名前で起動するlaunch4j Windows UAC

BUT:このEXEの名前をlaunch4j ANTタスクの "setup.exe"、 "setup.exe"または "updater.exe"に変更すると、UACアイコンが表示されます(右下にプログラムアイコンが表示されます)。プログラムを起動するときのUACプロンプト(Windows Vistaまたは7のみ)。 これは、Windowsエクスプローラでプログラムの名前を変更した場合にも発生します。

same program, renamed via windows explorer

いくつかの「予約語は、」Windowsが昇格アクセス権(UAC)とプログラムを開始させるファイル名であるかのように思われます。

誰かがこの問題を確認できますか?本当に私のアプリケーションに「install.exe」または「update.exe」という名前を付けることはできますか?

+3

MSDN: 'アイコンオーバーレイ:Windows Vistaでは、実行可能ファイルが起動するために仰角が必要な場合、実行可能ファイルのアイコンにはこの事実を示す盾アイコンが表示されます。 ...シールドアイコンオーバーレイは、インストーラの検出ヒューリスティックに従って、高度を必要とする実行可能ファイルにも自動的に配置されます。たとえば、実行ファイルに埋め込みアプリケーションマニフェストがない場合でも、setup.exeという名前のファイルが自動的にシールドアイコンオーバーレイを受信します.' http://msdn.microsoft.com/en-us/library/bb530410.aspx – ecle

+0

説明のために! – ToFi

答えて

2

はい、UACを起動するファイル名に予約語があります。

MSDN:

アイコンオーバーレイ:コメントとして

@eeeのpostetこの実行可能ファイルが起動するように 昇格を要求する場合、Windows Vistaでは、その後、実行可能ファイルのアイコンは、 "刻印" でなければなりません には、この事実を示すシールドアイコンが表示されます。 ...シールドアイコンオーバーレイ は、 とみなされる実行可能ファイルに、インストーラの検出ヒューリスティックに従って仰角を必要とするものが自動的に配置されます。 の例では、実行可能ファイルに埋め込み アプリケーションマニフェストがない場合でも、setup.exeという名前のファイルが自動的にシールド アイコンオーバーレイを受信します。

http://msdn.microsoft.com/en-us/library/bb530410.aspx

0

この動作は、グループポリシーによって制御されます。

User Account Control: Detect application installations and prompt for elevationが無効に設定されている場合、これらのファイル名は特別な意味を持ちません。

もちろん、管理していないコンピュータで使用するファイルに名前を付ける場合は、認識された名前から離れないようにしてください。

関連する問題