【问题标题】:VMWare Horizon Client upgrade, breaks all C# / database applicationsVMWare Horizo​​n Client 升级,打破所有 C# / 数据库应用程序
【发布时间】:2016-04-29 15:54:54
【问题描述】:

这可以说是我们公司遇到的最严重的问题。

我们的用户以前在 Windows 7 中使用 VMWare Horizo​​n Client v3.1.0。自从升级到 v3.5.2 后,我们所有的内部 WinForms 或 Office Addin 应用程序访问我们的任何 SQL Server 数据库不再起作用。

只要 C# 代码到达这一行...

MikesDataContext dc = new MikesDataContext()

..在任何事情发生之前,现在大约有 800 秒(13m 40s)的延迟。即使连接字符串完全是垃圾,该行也会在抛出错误之前挂起 800 秒。

但是一旦这种延迟发生一次,它就再也不会发生了,使用该应用程序的实例。

哦,如果用户具有本地管理员权限,则根本不会发生此问题。

[问题被截断。]

【问题讨论】:

  • 奇怪的问题,以前从未见过。看到本地管理员或全新安装修复它我会说它闻起来像更新搞砸了某处的权限。检查是否允许普通用户读取 app/web.config 文件。他们被允许执行 .net 框架的所有部分。如果不是这样,我将获得您的一个应用程序的调试编译版本并运行它,附加 Visual Studio 调试器并尝试调试 MikesDataContext 构造函数。出于好奇:如果你什么都不做,等 15 分钟。应用是否按预期工作或崩溃?
  • @NickOtten:如果我们等待,它(最终)会正常运行。不过这很奇怪,不是吗。如果升级弄乱了 .Net Framework 文件的一部分,为什么它以本地管理员身份运行时会正常工作?而且我无法进入 MikesDataContext 构造函数(可以吗?)
  • 如果更新从 .net 框架的某些 dll 中删除了读取/执行权限(在这种情况下是带有 sql 驱动程序的那个),它可能会导致一些非常不可靠的结果。但正如你所说:最终它会运行。所以.net 框架不能被破坏,否则它永远不会工作。 MikesDataContext 是我假设的实体框架。您可以调试那些(在打线时按 f11)。不过,您可能必须禁用 VS 调试器选项中的“仅我的代码”设置(不确定,我注意到我已禁用它)。本地管理员的事情对我来说仍然是个谜。
  • 你应该发布你自己的解决方案作为答案并接受它,否则这个问题看起来没有解决。
  • 好点。完成。

标签: c# sql-server vmware


【解决方案1】:

我们提出了一个与 VMWare 本身有关的问题,他们承认,当您卸载 Horizo​​n Client 3.1 或 3.2 时,它会删除一些它不应该有的注册表项。

他们知道这个问题,但是当您安装更高版本时,他们没有尝试在您的注册表中修复它。他们在下面的知识库文章中确实提到了这个问题,但我的谷歌搜索都没有偶然发现这篇文章。

VMware - Launching applications requires elevated permissions

不管怎样……这就是解决方案。

如果您的公司遇到此问题,解决方法是进入“工作”机器上的以下注册表路径,导出注册表项,然后将它们恢复到“损坏”机器上。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel

重启你的笔记本电脑,然后问题就消失了。

(我需要一杯啤酒……)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-19
    • 2023-03-02
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    相关资源
    最近更新 更多