Windows 7 具有特定名称的launch4j可执行文件将触发Windows UAC

Windows 7 具有特定名称的launch4j可执行文件将触发Windows UAC,windows-7,ant,windows-vista,uac,launch4j,Windows 7,Ant,Windows Vista,Uac,Launch4j,我正在创建一个java程序的windows可执行EXE文件,其中包含Eclipse中launch4j的ANT任务,并将其命名为“MyApp.EXE”。我需要这个程序在没有管理员身份验证的情况下在windows系统上运行。 到目前为止,这是可行的。它只是运行良好,没有任何UAC提示 但是:如果我在launch4j ANT任务中将此EXE重命名为“install.EXE”、“setup.EXE”或“updater.EXE”,则会出现UAC图标(右下角覆盖程序图标),并且在启动程序时会收到UAC提示(

我正在创建一个java程序的windows可执行EXE文件,其中包含Eclipse中launch4j的ANT任务,并将其命名为“MyApp.EXE”。我需要这个程序在没有管理员身份验证的情况下在windows系统上运行。 到目前为止,这是可行的。它只是运行良好,没有任何UAC提示

但是:如果我在launch4j ANT任务中将此EXE重命名为“install.EXE”、“setup.EXE”或“updater.EXE”,则会出现UAC图标(右下角覆盖程序图标),并且在启动程序时会收到UAC提示(仅在Windows Vista或7上)。 如果在Windows资源管理器中重命名程序,也会发生这种情况

似乎文件名中有一些“保留字”导致windows启动具有提升访问权限(UAC)的程序


有人能证实这个问题吗?我真的不能将我的应用程序命名为“install.exe”或“update.exe”吗?

是的,文件名中存在触发UAC的保留字

@eee将此作为评论发布:

MSDN:

图标覆盖:在Windows Vista中,如果可执行文件需要 提升以启动,则可执行文件的图标应“盖章” 用一个盾形图标来表示这个事实。。。盾牌图标覆盖 也将自动放置在被视为 根据安装程序检测启发要求进行提升。对于 例如,名为setup.exe的文件将自动接收屏蔽 即使可执行文件没有嵌入 应用程序清单


是的,文件名中存在触发UAC的保留字

@eee将此作为评论发布:

MSDN:

图标覆盖:在Windows Vista中,如果可执行文件需要 提升以启动,则可执行文件的图标应“盖章” 用一个盾形图标来表示这个事实。。。盾牌图标覆盖 也将自动放置在被视为 根据安装程序检测启发要求进行提升。对于 例如,名为setup.exe的文件将自动接收屏蔽 即使可执行文件没有嵌入 应用程序清单


此行为由组策略控制

如果设置为禁用,则这些文件名将不再是特殊的


当然,如果要为不受您控制的计算机上使用的文件命名,您仍应远离已识别的名称。

此行为由组策略控制

如果设置为禁用,则这些文件名将不再是特殊的


当然,如果您要为不受您控制的计算机上使用的文件命名,您仍然应该远离已识别的名称。

MSDN:
图标覆盖:在Windows Vista中,如果一个可执行文件需要提升才能启动,那么该可执行文件的图标应该用屏蔽图标“压印”以表明这一事实。。。根据安装程序检测启发,屏蔽图标覆盖也将自动放置在需要提升的可执行文件上。例如,名为setup.exe的文件将自动接收屏蔽图标覆盖,即使可执行文件没有嵌入式应用程序清单。
MSDN:
图标覆盖:在Windows Vista中,如果可执行文件需要提升才能启动,则可执行文件的图标应“标记”用一个盾形图标来表示这个事实。。。根据安装程序检测启发,屏蔽图标覆盖也将自动放置在需要提升的可执行文件上。例如,名为setup.exe的文件将自动接收屏蔽图标覆盖,即使该可执行文件没有嵌入式应用程序清单。