我已经把控件放到system目录下而且把此控件嵌在网页里面可以注册,但是不能regsvr32注册,请问这是什么问题

解决方案 »

  1.   

    用regsvr32能注册了,但是我想用程序注册还是不行,确实是缺少必须的动态链接库我已经把它也放进了system目录,怎样才能用户给他注册呢??以下函数适用于单个控件注册,但是我的控件有一个dll,怎样注册??
    LPCTSTR dllName = "C:\\WINDOWS\\system\\flash.ocx";
    HINSTANCE hLib = LoadLibrary(dllName);
    if(hLib < (HINSTANCE)HINSTANCE_ERROR)
    {
    AfxMessageBox("不能装载flash.ocx文件\n");
    }
    FARPROC lpDllEntryPoint; 
    lpDllEntryPoint = GetProcAddress(hLib,_T("DllRegisterServer"));
    if(lpDllEntryPoint!=NULL)
    {
    if(FAILED((*lpDllEntryPoint)()))
    {
    AfxMessageBox( "调用DllRegisterServer 失败!");
    }
    }
    FreeLibrary(hLib);
      

  2.   

    有时编译用的WINDOWS版本和注册时的WINDOWS版本不同也会出现这种问题。
      

  3.   

    你打包成一个setup文件,打包时注意选择控件属性要注册,并且把必需的系统文件都打包进去。
      

  4.   

    找不到是因为路径问题  ocx又不是dll 你必须直接指定它存在的位置 这样才能注册
      

  5.   

    我已经指定他的位置了,但问题是这个控件需要调用一个dll,我发现用程序注册单一的控件没问题,但是注册需要有dll的控件就不行了。。可以让安装程序注册控件但是如果我升级控件怎么办。。总不能让用户从新下载安装吧。可以只升级控件然后再注册
      

  6.   

    System("regsvr32 /s %SystemRoot%\System\flash.ocx"
      

  7.   

    借贵宝地问个问题:
    我在windows server 2003下用ATL写了个DLL,为什么在98下不能注册呢。提示错误信息是0x00000485
    意思是找不到指定的模块。
    然后我又在98下写了个DLL,然后在2003下注册,可以通过。
    各位老大说说怎么回事。
      

  8.   

    thunderclap(不会游泳的鱼) 
    你的Dll种肯定用了98下不兼容的函数或98下没有的Dll
      

  9.   

    你把你的DLL文件,用VC的工具Depends.exe打开一下,应该出现红色的错误提示,就是你的DLL文件目录中缺少的其它DLL,加到目录中就可以了.
      

  10.   

    http://blog.csdn.net/newkey007/archive/2004/12/13/214605.aspxhttp://blog.csdn.net/newkey007/archive/2004/12/01/200906.aspx