我在终端服务模式下运行 Windows 2008 Enterprise 32 位安装。我有一个在本地运行的程序,但在使用 RDP 连接时无法运行。尝试启动它时,我可以在任务管理器中看到该程序正在运行,但它从未显示给用户。没有消息,没有错误,除了任务管理器中列出的进程之外什么也没有。没有迹象表明发生了什么事情。
我已经使用控制面板中的“在终端服务器上安装程序”选项安装了该程序,并且还尝试使用“更改用户/安装”模式重新安装它。
有什么建议么?
编辑:它在终端服务器 2003 中运行良好。
答案1
不幸的是,应用程序是否能在终端会话中运行取决于它的编写方式。兼容性问题很可能是由于代码使用了全局命名空间,出于安全原因,现在已不再允许使用全局命名空间。我会尝试修改可执行文件的属性,使其在 Windows XP 兼容模式下运行,看看是否可行。有一篇出色的 Technet 博客文章解释了为什么这种情况会发生在旧版应用程序中:http://blogs.technet.com/askperf/archive/2007/04/27/application-compatibility-session-0-isolation.aspx
答案2
我不确定您连接的是哪个 Windows 版本。如果是 Vista 或 7,则需要使用mstsc /管理员而不是 Knox 描述的命令。如果该应用程序在管理员会话中运行,则该软件可能需要某种类型的权限提升。
答案3
作为调试步骤,连接到控制台会话(会话 0)并查看应用程序是否在那里工作可能很有用。也许应用程序被无意地硬编码为仅在会话 0 中工作。从客户端,尝试
mstsc -v:服务器名称/F -控制台
记录在