【发布时间】:2011-01-14 09:35:15
【问题描述】:
我在使用 Windows UAC、计划任务和名为“dbupdate.exe”的可执行文件时遇到问题。我对源代码、清单等拥有完全的权力,但对用户系统没有权力(简称:普通软件工程师;-)。语言是 Delphi,但我认为应该不重要。
我在 windows vista 和 windows 7 的任务调度程序中使用应用程序时遇到问题。该程序名为 dbUpdate.exe。它内置了一个 xp/vista 清单,该清单配置程序应以“asInvoker”启动。
现在,在 vista 和 windows 7 中,我可以毫无问题地启动程序,但我必须登录到系统。如果我没有登录,则程序不会执行(我使用 Windows 任务调度程序,但我知道其他调度程序也存在问题)。但是:如果我将程序重命名为“dbBlaBla.exe”,它就会被执行。让我明白这一点,UAC 安装程序检测认为我的程序是一个安装程序(它不是,但我知道它会查看更新、设置等文件名)。
我在网上搜索了很多有用的东西。所以我在这里问
我是否必须创建一个特殊的清单才能在计划的作业中执行它? 或者有没有办法为计划的作业或我的可执行文件禁用 UAC?还是我真的必须选择另一个名字(然后它会起作用,就像前面提到的那样)并冒着客户和我的同事对此不太满意的风险?$
感谢您的帮助,问候
【问题讨论】:
-
如果你把它命名为updatedb.exe或upd_task.exe,客户和同事会很不满意吗?听起来更像是你应该重命名它,把它写下来以弄清楚你什么时候有时间(一个 SO 问题对此有好处.. :P),然后继续解决重要问题。 (所以你已经成功了一半。)
-
嗯,“转移到重要问题”的观点听起来不错 ;-) 但遗憾的是,“更新”这个词在我们公司非常普遍,并且对程序所做的事情很有意义.感谢您的回答
标签: windows-7 windows-vista uac job-scheduling