最近在对朋友的Windows 7 电脑进行一些必要的启动速度检查的时候发现了他的任务计划出现了以下问题。
当我点击了任务计划后,系统会接着弹出来若干个这样的提示信息:
--------------------------- 任务计划程序 --------------------------- 所选择的任务“{0}”不再存在。若要查看当前任务,请单击“刷新”。 --------------------------- 确定 ---------------------------
以及这个:
--------------------------- 任务计划程序 --------------------------- 任务计划程序服务不可用。任务计划程序将尝试重新与其建立连接。 --------------------------- 确定 ---------------------------
来回这两个提示,但是看不到{0}对应的具体是哪一个任务(CLSID)。
我这里的解决办法是通过Autoruns,扫描开机启动项的任务计划信息,这里为了让扫描结果详细化,我在选项里面进行了一下设置,有别于默认的设置:
图片1:对Autoruns的过滤项进行设置
扫描后发现如此信息:
图片2:如红线标记的特殊环境变量
因为Autoruns下面的红色标记表示文件未被找到,因此说明Windows 在某种掉用的过程中无法对这个%ProgramW6432%进行处理,这里我尝试在此电脑的运行中输入这个特殊的环境变量%ProgramW6432%,得到了无法获取该变量的提示。
随后按照通常的问题处理方式,在微软的Support网站中搜索相关的变量名,得到了一些帮助。
通过在高级系统设置中 ( 如果系统提示您输入管理员密码或进行确认,请键入该密码或提供确认。)添加相应的环境变量将其问题解决。
图片3:高级系统设置中添加一个系统变量
至此,添加相应的系统变量之后,重启电脑,问题得到解决。
图片4:继续使用Autoruns进行扫描,对应的故障Image Patch 已经正常,并被还原成固定路径
同时打开任务计划,得到无错误提示的正常状态,相应的任务计划也没有消失,但是比较奇怪的是,我们看到的路径信息并不是WOW64系统下的格式路径:
图片5:我们看到的还是传统的32位系统下的变量情景
参考信息:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384274(v=vs.85).aspx
Process | Environment variables |
---|---|
64-bit process |
PROCESSOR_ARCHITECTURE=AMD64 or PROCESSOR_ARCHITECTURE=IA64 ProgramFiles=%ProgramFiles% ProgramW6432=%ProgramFiles% CommonProgramFiles=%CommonProgramFiles% CommonProgramW6432=%CommonProgramFiles%
|
32-bit process |
PROCESSOR_ARCHITECTURE=x86 PROCESSOR_ARCHITEW6432=%PROCESSOR_ARCHITECTURE% ProgramFiles=%ProgramFiles(x86)% ProgramW6432=%ProgramFiles% CommonProgramFiles=%CommonProgramFiles(x86)% CommonProgramW6432=%CommonProgramFiles% |
-=EOB=-