工具:ComDLL控件OCX免注册工具包,提升管理员权限,注册DLL,卸载OCX
标签:免注册,管理员提权,制作绿色软件,办公室解锁,安装自动化
亮点:在工厂设备工控自动化时,需要安装.NET SDK和各种第三方DLL,OCX,需要注册时就可以使用本软件了。
可以把EXE需要的DLL,OCX免注册加载,做成绿色软件,打开就可以直接使用,防止和系统自带的旧版DLL,OCX冲突。
- 您所在的用户组无法下载或查看附件
一开始只是想做一个工程中引用了什么DLL,ocx的小工具,后面又添加了DLL注册卸载功能,
管理员提权,让普通账号无权限的电脑也能写入注册表。这个花了好多天的时间。
UAC权限限制,连注册DLL的代码都运行失败,只能手工复制到命令行窗口才能注册成功,成功是偶然的,也是必然的。
使用说明:-------------------------
1,把工程中引用的DLL,ocx控件文件放到工程目录下的dll_ocx目录进去
2,复制DLL_OCX目录到免注册工具包.exe下面
3,打开”免注册工具包.exe”
4,点2个按钮,生成清单、生成VB6资源文件
5,把目录下生成的:VB6资源文件.res 文件复制到工程目录,
6,VB6 IDE中按CTRL+D添加该资源文件到工程
编绎生成ABC.EXE,把DLL_OCX目录一起打包,
就可以免注册在别的电脑上直接打开软件了。
----------
如果免注册工具包上的”发布的DLL放Exe子目录“清空了,
打包给其他电脑的软件结构就是:
主程序 ABC.EXE
1.dll
2.ocx
3.dll
=================
其他功能说明:左边文件列表上按F5或双击可以刷新加入的新文件
测试流程:
创建2个使用了DLL,OCX的工程,一个带资源免注册功能。
生成ABC.EXE , ABC_免注册.exe
关闭VB6 IDE,关闭所有打开的用到DLL,OCX的软件
用逍遥免注册工具包Dll_OCX.exe里面的DLL注册工具,把ABC.EXE用到的DLL,OCX先反注册,然后打开软件测试,ABC.EXE应该会报错,ABC_免注册.exe可以直接打开
============
高级技巧:
1,标准DLL不需要加入这个目录处理
2,从电脑硬盘上找DLL,OCX复制出来时要注意相同版本。
最好用工具包里面的DLL注册工具重新注册一下,再反注册,再注册。
然后用VB6工程添加部件上去,防止版本不同乱套。
建议用小工具:{ 读取vb工程引用的所有DLL_ocx.exe }
先关闭VB6工程和所有软件,导出DLL和OCX
再放到免注册工具包的DLL_OCX目录下
3,有的COM对象还有其他依懒文件,也要复制到一起才能实现免注册
比如:datagrid控件:MSDATGRD.OCX+MSSTDFMT.DLL
-------------------
已知问题:有个别控件可能类型库部分GUID相同会冲突。
比如(MSCOMCTL.OCX,TabCtl32.Ocx)
手工可以解决,后续会想办法用我的工具来实现修复。
---------------
升级:2024-7-8 10:40 增加WIN7-X86识别功能,区分system32/SysWOW64 regsvr32路径选择
升级:2024-7-8 12:50 版本2.3.17 修复重复类名冲突问题
================
比如系统自带的vbscript.dll,scrrun.dll这些都是不要注册的,除非系统本身自带,没有注册上才补注册。
C:\Windows\SysWOW64\regsvr32 "这里要补上完整的路径scrrun.dll"