我正在尝试在快速启动栏中获取远程桌面的快捷方式。
我安装了远程桌面客户端,当我单击“开始”->“附件”->“通讯”中的快捷方式时,它可以正常启动,但是当我复制该快捷方式并尝试使用新的快捷方式启动它时,出现错误:
Windows is searching for %SystemRoot%\system32\mstsc.exe. [...]
当我进入 system32 文件夹时,我找不到 mstsc.exe,而且它也没有被隐藏。全盘搜索一无所获。当我进入快捷方式的属性并按“确定”时,它还抱怨“目标框中的名称‘%SystemRoot%\system32\mstsc.exe’无效。
奇怪的是,当我从 Accessoiries 菜单启动它并使用 Process Explorer 查看进程的命令行时,它显示“C:\WINDOWS\system32\mstsc.exe”。当我将此行粘贴到“开始”->“运行”中时,它可以正常工作,但是当我将其粘贴到快捷方式中时,我收到上述错误。
我有另一台装有 XP 32 位(而不是 64 位)的机器,它在那里使用相同的路径运行良好。
- 这个‘幻影’mstsc.exe 在哪里?
- 从另一台机器复制 mstsc.exe 是否安全?
答案1
您提到您使用的是 64 位 Windows XP(我记得它有点问题)。有可能它mstsc.exe
是 32 位可执行文件(而且微软当时没有提供 64 位版本),在这种情况下它将位于SysWOW64
,其中包含 32 位安装中通常会包含的 32 位可执行文件和库System32
。在 64 位安装中,System32
仅包含 64 位可执行文件和库。
基本上,尝试一下%SystemRoot%\SysWOW64\mstsc.exe
。虽然很奇怪,但你可以通过其他命令来运行它。
您可能希望尝试通过命令提示符进行检查。尝试dir /a "%SystemRoot%\System32\mstsc.exe"
,它将列出一个文件(如果存在),File Not Found
如果不存在则显示。
万一 64 位版本曾经存在但现在丢失了,您可以尝试恢复它。您应该尝试做的第一件事是运行命令sfc /scannow
(在命令提示符中),如果幸运的话,这可能会恢复文件。
或者,您可以尝试从另一台计算机复制。如果您确实从另一台计算机复制mstsc.exe
,则该计算机必须运行与当前计算机相同的 Windows 版本和服务包,并且也必须是 64 位。
应应用所有可用更新。您可以尝试的另一件事是从原始安装 CD 复制,尽管这可能缺少所需的服务包和更新。
答案2
您是否正在使用其他 shell 或文件管理器?最终,如果应用程序从原始快捷方式成功启动,则它一定存在。问题是为什么您看不到它。
我怀疑您遇到的问题与用户帐户控制、文件和注册表虚拟化或两者的组合有关。从 Windows Vista 开始,某些关键系统文件夹和注册表项受到保护,不允许不兼容的应用程序访问。Windows 将呈现不同的虚拟化文件夹或注册表项的视图,以便应用程序可以运行,但不会损害系统稳定性。
更多信息请见此处:http://support.microsoft.com/kb/927387
Server 2008/Vista 的远程桌面协议和客户端发生了重大变化,2008R2/Win7 的远程桌面协议和客户端也发生了重大变化,尽管你可以在 XP 上更新 RD 客户端,我不确定复制二进制文件是否是最好的解决方案。