我们在RDS服务器上有一个Windows2008R2 RemoteAPP .NET 4.5应用程序NGEN-ed,大约有.3个主机NLB群集的300个并发用户.
该应用程序正在积极开发中,RemoteAPP部署的程序集需要经常更新(即用新的程序集替换).
我们目前如何做到这一点如下:
在此之后,服务器偶尔会出现Blue-Screen-Crash与Microsoft-Windows-Kernel-Power EventID 41的严重错误 - 我非常责怪我们的更新实践要对此负责.
因此,问题是:什么是更新RemoteAPP应用程序和NGEN-ing新程序集的推荐方法,而不必终止访问旧程序集的进程(即允许用户在他们感觉到时继续并重新启动).
谢谢.
继续回到这个并且无法理解......我正在创建一个工作应用程序,它基本上将我们所有的工具编译成一个更易于使用的GUI.我们使用的工具之一是我们从第三方使用的工具,并通过RDWeb作为远程应用程序托管.现在我也经常进行远程桌面访问,我可以使用MSTSC通过我的Winform访问桌面,这个过程非常有效.我很好奇是否可以在MSTSC控件中加载RemoteAPP而不是整个桌面,这样我的用户就无法访问完整的桌面.或者,如果在Winforms中有任何其他方式来托管RemoteAPP.
我已经查看了ITSRemoteProgram上的MSDN文档,但是当我尝试以下操作时,它只会抛出异常.调试器停止rdp.RemoteProgram.RemoteProgramMode = true;并给出HRESULT E_FAIL异常.
我也试过使用remoteprogramOnConnected事件后触发,我得到相同的结果.
try
{
rdp.Server = "FFWIN2008R2DC.fflab123.net";
rdp.Domain = "fflab123";
rdp.UserName = "administrator";
IMsTscNonScriptable secured = (IMsTscNonScriptable)rdp.GetOcx();
secured.ClearTextPassword = "password123";
rdp.OnConnected += rdp_OnConnected;
rdp.RemoteProgram.RemoteProgramMode = true;
rdp.RemoteProgram2.RemoteApplicationName = "Calculator";
rdp.RemoteProgram2.RemoteApplicationProgram = @"C:\Windows\system32\calc.exe";
rdp.Connect();
}
catch (Exception Ex)
{
MessageBox.Show("Error Connecting", "Error connecting to remote desktop " + " Error: " + Ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Run Code Online (Sandbox Code Playgroud)
也许我会以错误的方式走这条路,或者甚至不可能.我想在正确的方向上轻推我不需要任何人为我写这个.
我们正在开发具有所有更新的远程桌面服务器2008 R2 Sp1.昨天我想安装一个办公室2013年MAK专业人员加上已经安装的office 2010标准.为此,我选择了自定义安装并单击了告诉我离开以前版本的单选按钮(Office 2010).
在办公室2013安装后,办公室2010因不明原因而被破坏,所以我所做的就是删除所有办公室并安装办公室2013(所有安装方式 - >更改用户/安装).
我们启用了一些对Office 2010安装产生影响的GPO,我只是改变了这些.与此同时,我在默认GPO中进行了一些更改,以便在所有办公程序的每个远程桌面上创建快捷方式.
我做的最后一件事yesterdag是将硬盘容量从100Gb扩展到250Gb并最后一次重新启动该服务器.
今天早上突然间,再也无法启动远程应用程序(不仅是办公室远程应用程序,还有之前制作的应用程序).当我们启动远程应用程序时,启动屏幕会在一段时间后消失.当我点击详细信息按钮时,我看到它正在加载GPO,然后给出"准备桌面",但在此之后它正在"注销".
关于这一点最奇怪的部分是用户可以在远程服务器 - >远程桌面上使用他的名字登录而没有任何问题.
这怎么可能?我在互联网上找到了toppics,但没有一个被回答..
当我看一下事件查看器时,我看到有人在点击远程应用程序时出现了一些错误,但我不知道它是否与此有关.
A timeout (30000 milliseconds) was reached while waiting for a transaction response from the UmRdpService service.
User Logon Notification for Customer Experience Improvement Program
User Logoff Notification for Customer Experience Improvement Program
Run Code Online (Sandbox Code Playgroud)
希望在这里找到一些帮助!
首先,我想我必须弄清楚我是否在远程运行,其次我必须弄清楚我的远程连接是独立的远程应用程序还是在终端服务器上运行的应用程序(这可能很棘手)。
但是,一旦我弄清楚了所有这些可怕的事情,有没有办法在本地而不是远程运行像ShellExecute这样的 Windows 函数?
我想要这样做的原因是因为我启动了一个网络浏览器来查看需要 javascript 和 flash 的相当高带宽的东西,并且某些管理我们产品的系统管理员不太热衷于对他们的终端进行不必要和不安全的修改服务器群。
我尝试了一切让我们的ClickOnce VB.NET应用程序作为RemoteApp在终端服务下运行.我有一个批处理文件,运行应用程序的.application文件.
这可以通过终端服务器上的RDP桌面会话正常工作.然而,作为TS RemoteApp,嗯......不是那么多.
我在客户端系统上得到一个快速命令提示符(批处理文件)然后......没有...
同样可以直接指向.application文件(不使用批处理文件),甚至可以在本地复制出版本并让它指向它.
我发现了一个关于类似问题的technet.microsoft.com讨论,但没有列出它的解决方案.
对于之前遇到过这种情况并且让它工作的人来说,你需要做什么?
我们目前将RemoteApp用于该服务器上的其他所有内容,因此我希望尽可能坚持使用它.
目前的解决方法是,当我们通过OneClick发布到网络时,在我们的终端服务器上为应用程序构建和运行基于MSI的安装程序,但这有时会非常痛苦并且很容易忘记.
由于应用程序在完全桌面模式下运行时通过终端服务正常工作,但在RemoteApp期间不能正常工作,我认为这不是特定于终端服务器权限的任何内容,因为ClickOnce需要在作为RemoteApp运行时不可用的东西.
我有一个Windows应用程序,部署为remoteapp.我正在尝试使用C#DateTime.Now生成时间戳.我很想知道,如果用户从一个与托管应用程序的服务器时区不同的地方使用该应用程序,将如何生成时间戳.它是特定于服务器还是特定于用户机器.如果它是根据服务器时区,有没有办法使其特定于用户机器?