Windows UAC对话框

时间:2012-10-21 04:29:09

标签: windows winapi uac

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

感谢您的回答。

1 个答案:

答案 0 :(得分:9)

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

此外,您的应用程序应具有VersionInfo资源,其中包含文件的版本和说明。

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

摘自Installer detection technology

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