资料介绍
标签:免注册,管理员提权,制作绿色软件,办公室解锁,安装自动化
一开始只是想做一个工程中引用了什么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)