7

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

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

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

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

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

感谢您的帮助,问候

4

2 回答 2

6

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

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

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

于 2011-11-08T23:25:00.673 回答
1

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

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

于 2011-11-15T17:14:50.600 回答