c++ - Vista 和进程外 COM 服务器

标签 c++ com windows-vista out-of-process

我正忙于弄清楚 Vista 上的用户权限和安全设置。情况是这样的:

我有一个 32 位 C++ 应用程序,它充当进程外(==独立 exe)COM 服务器。我有几个使用此服务器的 .Net、FoxPro、X++ 和 C/AL 客户端应用程序。它们都适用于 WindowsXP。他们通常在 Windows Vista 上工作(32/64 似乎没有什么区别)。然而,Vista 上的行为非常不稳定。它通常是这样的:
1) 从客户端实例化 COM 对象(从而启动服务器)-> 成功
2) 将前几条命令发送到服务器 -> 成功
3) 崩溃并出现异常,说明客户端 COM 对象未绑定(bind)?!卧槽?!我们刚刚在第 2 步成功使用了这个对象!

如果我在客户端程序上“以管理员身份启动”,它总是能正确可靠地工作。但是,仅以管理员身份登录并通过双击启动客户端将失败。两者有什么区别?

客户端和服务器在同一台机器上本地运行。这是在虚拟机上全新安装 Vista Ultimate 32 位。

我完全不知所措。有什么建议吗?

最佳答案

关于在 vista 中成为管理员和 ADMINISTRATOR 之间的区别的一些评论可在此处获得:link text

你能把你的 com 对象安装成一个合适的服务吗,我想默认情况下它会以管理员身份运行

关于c++ - Vista 和进程外 COM 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1681672/

相关文章:

c++ - 您如何搜索具有哈希名称的 vector 以进行匹配?

c++ - 如何检测 Windows 更新状态

c++ - 为什么我可以在没有调用 CoInitializeEx 的情况下调用 StringFromCLSID?

vb.net - 如何在 VB.NET 中声明 COM 可见的默认索引属性?

c++ - 从点云生成近似 NURBS 曲面

c++ - 如何在 C++ 中实现带中断的定时器?

c# - 调用 COM 类的非默认构造函数

c++ - 防止在 Windows 中取消停靠计算机

windows-7 - 如何将 UAC 盾牌图标添加到仍然必须以 XP 为目标的程序中?

windows-7 - 在 UAC 保护区中创建文件夹