64位COM(的ActiveX)服务器服务器、COM、ActiveX

由网友(消失的无影无踪)分享简介:我的ActiveX EXE服务器被构建和登记罚款32位操作系统。我想使64位版本的EXE通过升级项目,Visual Studio 2010和不断变化的平台,X64,这显然是行不通的。应用程序本身的作品,但我没有看到运行后,注册That.exe / RegServer添加我会AP preciate从32迁移的Active...

我的ActiveX EXE服务器被构建和登记罚款32位操作系统。我想使64位版本的EXE通过升级项目,Visual Studio 2010和不断变化的平台,X64,这显然是行不通的。

应用程序本身的作品,但我没有看到运行后,注册

  That.exe / RegServer添加
 

我会AP preciate从32迁移的ActiveX到x64任何有用的建议。

code,它是处理/ RegServer添加参数是如下:

 如果(LSTRCMPI(lpszToken,_T(RegServer添加))== 0)
  {
   _Module.UpdateRegistryFromResource(IDR_OUTDISKSARG,TRUE);
   NRET = _Module.RegisterServer(TRUE);
   布伦= FALSE;
   打破;
  }
 

32位ActiveX是unuable对我来说,因为我必须加载它在x64的.NET程序。

解决方案 64位w7注册flash player activex控件失败

在运行That.exe / RegServer添加,你做了,从管理员命令提示符?如果不是这可能是为什么它没有工作。

如果你这样做,它仍然没有工作,尝试调试它,看看它在做什么到注册表中。例如使用进程监视器,甚至是Visual Studio调试器(记住要确保调试运行你的应用程序作为管理员)。

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

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

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 bit activex is unuable for me since I have to load it in x64 .NET process.

解决方案

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.

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).

阅读全文

相关推荐

最新文章