Windows UAC对话框

Ben*_*iss 7 windows winapi uac

我有一个没有资源的应用程序(根本没有UAC清单).此应用程序使用CopyFile将自身安装到appdata/roaming文件夹.它还设置了一个自动启动,因此它会在每次启动时自动启动.现在每次启动电脑时,都会弹出UAC对话框并说应用程序会对电脑进行更改.如果它位于appdata中,它还在图标上有盾牌标志.如何删除图标中的对话框/屏蔽?Windows是否检测到copyfile API并自动设置它?

谢谢你的回答.

Ale*_*nov 9

避免它的最好方法是添加应用程序清单:它明确地向系统传达这不是遗留应用程序,并且不应该应用安装检测逻辑(可能有误报).

此外,您的应用程序应具有VersionInfo资源,该资源包含文件的版本和描述.

如果您的应用程序没有清单,系统会使用启发式方法来检测它是否是安装程序.如果它认为应用程序是安装程序,那么运行您的应用程序将需要提升,并且应用程序将在其图标和可执行文件上屏蔽.

安装程序检测技术摘录:

  • 文件名包括"安装","设置"或"更新"等关键字.
  • 版本控制资源字段包含以下关键字:供应商,公司名称,产品名称,文件描述,原始文件名,内部名称和导出名称.