64 位 COM(ActiveX) 服务器 [英] 64 bit COM(ActiveX) server

查看:24
本文介绍了64 位 COM(ActiveX) 服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有在 32 位操作系统上构建和注册良好的 activex 服务器 exe.我想通过将项目升级到 Visual Studio 2010 并将平台更改为 X64 来制作该 exe 的 64 位版本,但这显然不起作用.

I have activex server exe that was building and registering fine on 32bit OS. I wanted to make 64 bit version of that exe by upgrading project to Visual Studio 2010 and changing platform to X64 which apparently doesn't work.

应用程序本身可以工作,但运行后我没有看到它注册

Application itself works but I don't see it registered after running

That.exe /RegServer

对于将 activex 从 32 迁移到 x64 的任何有用建议,我将不胜感激.

I would appreciate any usable advice on migrating activex from 32 to x64.

正在处理/RegServer 参数的代码如下:

Code that is processing /RegServer param is below:

if(lstrcmpi(lpszToken, _T("RegServer")) == 0)
  {
   _Module.UpdateRegistryFromResource(IDR_OUTDISKSARG, TRUE);
   nRet = _Module.RegisterServer(TRUE);
   bRun = false;
   break;
  }

32 位 activex 对我来说无法使用,因为我必须在 x64 .NET 进程中加载​​它.

32 bit activex is unuable for me since I have to load it in x64 .NET process.

推荐答案

  1. 当您运行 That.exe/RegServer 时,您是从管理员命令提示符执行的吗?如果不是,那可能就是它不起作用的原因.

  1. When you run That.exe /RegServer, did you do that from an Administrator command prompt? If not that's probably why it didn't work.

如果你做了但它仍然不起作用,试着调试它看看它对注册表做了什么.例如使用 Process Monitor,甚至 Visual Studio 调试器(记住确保调试器以管理员身份运行您的应用).

If you did and it still didn't work, try debugging it to see what it's doing to the registry. e.g. Use Process Monitor, or even the Visual Studio debugger (remembering to ensure the debugger runs your app as admin).

这篇关于64 位 COM(ActiveX) 服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆