在计划任务中由UAC阻止的exe.exe名称

时间:2010-02-08 14:30:12

标签: windows-7 windows-vista uac job-scheduling

我遇到了Windows UAC,计划任务和名为“dbupdate.exe”的可执行文件的问题。我对源代码,清单等有充分的权力,但不是用户系统(简称:普通软件工程师;-)。语言是Delphi,但我认为不应该是重要的。

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

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

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

我是否必须创建一个特殊的清单才能在预定的作业中执行它? 或者有没有办法为计划作业或仅为我的可执行文件禁用UAC?或者我真的必须选择另一个名字(然后它会起作用,就像之前提到的那样),并承担客户和我的同事对此不太满意的风险吗?$

感谢您的帮助,问候

2 个答案:

答案 0 :(得分:6)

在Windows 7中,名为“update.exe”的程序显然需要权限。它显然是名称,它只是那些古怪的微软之一。将其重命名为“anythingUpdate.exe”将触发魔法违规; “UpdateAnything.exe”也是!

所以我将我的名字重命名为up7.exe,现在微软很平静而且没有争议。同样的事情似乎发生在Vista中。

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

答案 1 :(得分:1)

来自http://social.msdn.microsoft.com/Forums/en-US/windowscompatibility/thread/1b316a7f-852e-4a71-89d3-090e45990f98

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