Dll注册的问题(

lsldd
博客专家认证
2009-06-01 02:05:18
这个问题跟C无关,这里人气高,特地来问,请大家不吝指教!

用VB做的程序,里面调用了暴风影音的控件,也就是MPS.DLL,它在暴风影音安装目录下面。
我把程序打包成安装包,安装完以后会释放一个MPS.DLL到SYSTEM32下并自动注册SYSTEM32下的DLL。
然而我的程序不能运行,但是暴风没影响。
然后我把SYSTEM32下的dll解除注册,把暴风目录下的dll再次注册,我的程序就能运行。
谁能详细解释一下……
...全文
162 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
老邓 2009-06-04
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lsldd 的回复:]
引用 6 楼 Treazy 的回复:
能说明一下你是怎么注册你的DLL的吗?

Regsvr 32命令
[/Quote]
试过先卸载原来的DLL了吗?
Regsvr32 [/s] [/n] [/i[:cmdline]] dllname   

/u 卸载安装的控件,卸载服务器注册;
icansaymyabc 2009-06-04
  • 打赏
  • 举报
回复
MPS.DLL 会调用同一目录底下其他的文件才能工作。
findcsdn 2009-06-02
  • 打赏
  • 举报
回复

多半是Dll没有装全,你只调用了MPS.DLL,可是MPS.DLL可能调用了其他的dll库。
要搞清楚到底用了多少个库。

不是Com库是不需要注册的,只要放到系统目录下system32就可,所有软件都会搜索这个目录。


光宇广贞 2009-06-02
  • 打赏
  • 举报
回复
暴风可以正常使用而你的不可以使用的问题,一般是:

一般软件会首先向自己的目录里面寻找DLL,然后再向系统目录下,如SYSTEM32目录 。

暴风的话,它可以定位自己目录下的那个DLL,所以不会有问题,而你的就有……

你为什么不直接把那个DLL打到自己的软件的安装目录下呢?
lsldd 2009-06-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 Treazy 的回复:]
能说明一下你是怎么注册你的DLL的吗?
[/Quote]
Regsvr 32命令
光宇广贞 2009-06-02
  • 打赏
  • 举报
回复
我觉得最好的办法就是……

装你的软件最后,你提示用户:请同步安装暴风影音……
光宇广贞 2009-06-02
  • 打赏
  • 举报
回复
顶三楼的。
Treazy 2009-06-02
  • 打赏
  • 举报
回复
能说明一下你是怎么注册你的DLL的吗?
Dinelgua 2009-06-01
  • 打赏
  • 举报
回复
study
陽洸膂珵 2009-06-01
  • 打赏
  • 举报
回复
帮顶!
老邓 2009-06-01
  • 打赏
  • 举报
回复
是这样的方法吗?
Regsvr 32命令是Windows中控件文件(如扩展名为DLL、OCX、CPL的文件)的注册和反注册工具。  命令格式   

Regsvr32 [/s] [/n] [/i[:cmdline]] dllname   

/u 卸载安装的控件,卸载服务器注册;   

/s 注册成功后不显示操作成功信息框;   

/i 调用DllInstall函数并把可选参数[cmdline]传给它,当使用/u时用来卸载DLL;  

/n 不调用DllRegisterServer,该参数必须和/i一起使用。   



简单实例   

要手工注册“E:\\CPCW.dll”,只需在“开始→运行”中键入“Regsvr32 E:\\CPCW.dll”,单击“确定”按钮后会弹出提示信息“DllRegisterServer in CPCW.dll succeeded”,说明组件注册成功;如果要卸载此组件,在“开始→运行”中键入“Regsvr32 /u E:\\CPCW.dll”即可。

格式:regsvr32 [/s] [/n] [/i[:cmdline]] DLLname

使用参数--------解除服务器注册

使用参数[/s]--------无声;不显示消息框

使用参数---------调用DllInstall,给其传递一个可选[cmdline];跟/u参数一起使用时卸载DLL。

使用参数[/n]--------不用调用DLLRegisterServer。这个参数必须跟/i一起使用。
老邓 2009-06-01
  • 打赏
  • 举报
回复
你可以先卸载旧DLL,再注册新DLL。
另外,你注册DLL使用的方法是?
冷月清晖 2009-06-01
  • 打赏
  • 举报
回复
安装完以后把暴风目录下的dll注册呢。

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧