Windows 7 计划任务中UAC阻止的类似update.Exe的Exe名称

Windows 7 计划任务中UAC阻止的类似update.Exe的Exe名称,windows-7,windows-vista,uac,job-scheduling,Windows 7,Windows Vista,Uac,Job Scheduling,我对windows UAC、计划任务和名为“dbupdate.exe”的可执行文件有问题。我对源代码、清单等有完全的控制权,但对用户系统没有控制权(简称:普通软件工程师;-)。语言是德尔菲语,但我认为它并不重要 我在windows vista和windows 7的任务计划程序中使用应用程序时遇到问题。该程序名为dbUpdate.exe。它内置了一个xp/vista清单,该清单配置程序应该在“asInvoker”中启动 现在,在vista和Windows7中,我可以毫无问题地启动程序,但我必须登录

我对windows UAC、计划任务和名为“dbupdate.exe”的可执行文件有问题。我对源代码、清单等有完全的控制权,但对用户系统没有控制权(简称:普通软件工程师;-)。语言是德尔菲语,但我认为它并不重要

我在windows vista和windows 7的任务计划程序中使用应用程序时遇到问题。该程序名为dbUpdate.exe。它内置了一个xp/vista清单,该清单配置程序应该在“asInvoker”中启动

现在,在vista和Windows7中,我可以毫无问题地启动程序,但我必须登录到系统。如果我没有登录,程序将不会执行(我使用windows任务调度程序,但我知道其他调度程序也存在问题)。但是:如果我将程序重命名为“dbBlaBla.exe”,它将被执行。这让我想到了一点,UAC安装程序检测认为我的程序是一个安装程序(虽然不是,但我知道它会查看更新、安装等文件名)

我在网上搜索,找不到很多有用的东西。所以我在这里问

我是否必须创建特殊清单才能在计划作业中执行它? 或者有没有一种方法可以禁用UAC以用于计划作业或仅用于我的可执行文件?或者我真的必须选择另一个名字(这样就行了,就像前面提到的那样),冒着客户和我的同事对此不太满意的风险$


感谢您的帮助,问候

在Windows 7中,名为“update.exe”的程序显然需要特权。这显然是名字,它只是微软那些古怪的东西之一。将其重命名为“anythingUpdate.exe”将触发魔法冲突;还有“UpdateAnything.exe”

所以我把我的名字改名为up7.exe,现在微软很平静,没有任何争议。同样的事情似乎也发生在Vista中

所以“updatedb.exe”不起作用;“upd_task.exe”将


必须启用“用户帐户控制:检测应用程序安装”和“提示提升”设置,才能检测安装程序以检测安装程序。默认情况下,此设置已启用,可以使用安全策略管理器管理单元(secpol.msc)或组策略(gpedit.msc)进行配置。

如果将其命名为updatedb.exe或upd_task.exe,客户和同事会非常不满意吗?听起来更像是你应该重命名它,把它写下来,弄清楚你什么时候有时间(一个这样的问题对这很好…:P),然后继续讨论重要的问题。(这么说你已经走到了一半。)好吧,“着手解决重要问题”听起来不错;-)但可悲的是,“更新”这个词在我们公司很常见,并且对程序所做的事情很有意义。感谢您的回答所谓的检查文件名是否包含诸如“安装”、“安装”、“更新”等关键字(遗憾的是,它们甚至没有指定所有关键字)。但是@warheart提到的
requestedExecutionLevel
应该覆盖安装程序检测。我的更新程序现在命名为*upda1e.exe。我还认为基于名称检测功能是相当愚蠢的,我想知道是谁提出了这个想法……您可以通过运行
secpol.msc
,然后转到本地策略来找到设置→ 安全选项。