自己制做绿色版VirtualBox
Windows软件的安装过程一般都是双击setup.msi或者setup.exe来完成。
在安装的过程中主要就是:解压或复制文件到安装目录,注册程序组件,添加注册表项,安装系统驱动等。
理论上只有解压就能运行的程序,才叫绿色软件,需要写注册表,注册组件的都不算。
今天以VirtualBox V4.2.36版本为研究目标。
第一步还是正常安装程序,然后备份所有程序文件,再卸载程序。
第二步把备用文件放到工作目录,进行研究,先双击virtualBox.exe会提示严重错误:提示创建COM对象失败。
看到这个提示猜测是某些dll文件需要注册了,所以用regsvr32命令把所有的dll文件全部注册遍,
最后发现只有VBoxC.dll可以注册,其它文件都失败。
再运行主程序,还是一样的提示,看来还有遗漏的文件?可能是EXE文件,无法直接用regsvr32来注册。
只好通过解包安装程序了,查看一下安装包的安装过程来了解如果手动注册。
把VirtualBox.exe用7zip解开可以看到里面有3个文件,2个msi文件和1个cab文件。
解包后:这两个msi一个是32位,另一个是64位系统的安装程序,cab文件在安装时需要重命名为common.cab。
对于msi文件,可以用Orca来反编译,查找它的Registry表项的内容,就是我们绿化软件时需要用到的注册表。
而这些注册表项,并不是全部都需要,一些文件关联的内容,我们并不需要。
只提取最重要的部分,那就是CLSID下面的内容。
如图所示,还好VirtualBox的注册表内容并不多,只有几十行。
而我们需要的只有CLSID相关的内容,这里面主要描述了两个组件,一个是VBoxC.dll和VBoxSVC.exe
VBoxC.dll的内容,其实通过regsvr32 Vboxc.dll就完成注册了,需要手动添加的就是VBoxSVC.exe而已。
手动添加了{B1A7A4F2-47B9-4A1E-82B2-07CCD5323C3F}下面的内容后,再次运行主程序,发现已经可以打开了。
启动虚拟机报错:
NtCreateFile(\Device\VBoxDrvStub) failed: 0xc0000034 STATUS_OBJECT_NAME_NOT_FOUND (0 retries) (rc=-101)
这个问题需要安装驱动来解决:VBoxDrv.sys,这个驱动的安装嘛,就使用DPInst.exe来完成就可以了。
最后总结一下:
VirtualBox并不是真正的绿色软件,只能通过手动添加注册表的方法,来实现类似绿色软件。
绿化方法:
#一、注册VBoxC.dll
regsvr32 VboxC.dll#二、注册VBoxSVC.exe
#将下面的内容保存为.reg文件,导入注册表
#需要修改X:\PATH\VBoxSVC.exe为真实路径
Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\CLSID\{B1A7A4F2-47B9-4A1E-82B2-07CCD5323C3F}
@="VirtualBox Class"
"LocalServer32"="X:\PATH\VBoxSVC.exe"
"AppID"="{819B4D85-9CEE-493C-B6FC-64FFE759B3C9}"
"ProgID"="VirtualBox.VirtualBox.1"
"TypeLib"="{46137EEC-703B-4FE5-AFD4-7C9BBBBA0259}"
"VersionIndependentProgID"="VirtualBox.VirtualBox"#三、安装驱动VBoxDrv.sys
将DPInst.exe放到驱动目录运行一下,自动完成
自己制做绿色版VirtualBox相关推荐
- 绿色版NVM安装与配置详细说明
绿色版本(不需要安装,直接解压,然后配置环境变量等) 由于最初发布的nvm并不支持window,所以如果希望可以像在*nix上一样控制node的版本,有两种选择: nvm-windows nodist ...
- 系统清理工具(Wise Care 365)绿色版
2019独角兽企业重金招聘Python工程师标准>>> Wise Care 365 具有强大的多分类"系统清理"功能模块,找准了您想要清理的垃圾或者冗余,安全性不 ...
- 图解eclipse+myeclipse完全绿色版制作过程
现在在Java开发中,使用的开发工具大部分都是Eclipse,并且和Eclipse关系紧密的要数MyEclipse了,但是 MyEclipse是一个EXE可执行程序,对于没有安装Eclipse与MyE ...
- 安装、设置与启动MySql5.1.30绿色版的方法
1.解压 mysql-noinstall-5.1.30-win32.zip(下载地址http://dev.mysql.com/downloads/mysql/5.1.html) 2.在 F 盘建立目录 ...
- android c/c++ eclipse 绿色版 环境的配置
一:阅读前的准备条件 1:目的,android 高性能方面的开发 2:条件:liunx系统熟悉,c/c++ 熟悉,Java 熟悉,Eclipse 开发工具熟悉,JNI 调用方式熟悉,熟悉面向对象的程序 ...
- 添加绿色版UltraEdit到右键菜单
添加绿色版UltraEdit到右键菜单 最近重新安装了系统,由于新下载的UltraEdit是绿色版本的,故在右键菜单中不会显示,用起来实在麻烦. 无奈之下,网上搜索出几个手动添加的办法,试用了下,感觉 ...
- mysql绿色版的应用5.7
一.配置MySQL数据库 1.解压绿色版mysql,并改名为mysql5.7,如下图 对比一下下图5.6以前的版本,少data目录(存放数据)和my-default.ini文件(配置信息) 二.安装服 ...
- 绿色版mysql安装步骤
绿色版mysql安装步骤 - johnnyhg - ITeye技术网站 绿色版mysql安装步骤 博客分类:Mysql MySQLSQL ServerC#CC++ 一.下载MySQL http://w ...
- 流氓软件彻底免疫程序 v2.2 绿色版
流氓软件彻底免疫程序 v2.2 绿色版 转载于:https://blog.51cto.com/080720/102380
最新文章
- 上下定高 中间自适应_移动端布局上下固定中间自适应
- cygwin中安装软件
- 稀疏表示字典的显示(MATLAB实现代码)
- boost::describe模块实现console的测试程序
- Linux 终端操作之简明疾速指南(1)
- android - 常用知识点以及代码片段(不断更新)
- 机器学习算法之 logistic、Softmax 回归
- 钉钉如何调整组织架构_阿里调整组织架构:盒马升级为独立事业群,钉钉被划进阿里云丨钛快讯...
- libreoffice Error: source file could not be loaded
- DevExpress导出Excel样式设置
- 利用MO实现流场显示
- Java实现各种加密验证算法(MD5、SHA256、base64、pdkdf2、pdkdf2_sha256)
- 苹果邮箱格式_3个小工具,让PDF格式不仅能编辑还能转成word 、execl、 ppt
- FFmpeg 2 - ffplay、ffprobe、ffmpeg 命令使用
- canny检测的matlab,canny边缘测试及matlab实现
- 看我如何自制安全的远程控制工具
- java 面包屑_java面包屑导航怎么做
- Debian 10安装教程
- 程序员月入百万的真相!
- DNS错误不能上网怎么办 电脑dns错误修复方法
热门文章
- 7 Billion Humans橙色部分-
- win7系统备份还原软件_win7如何进入系统还原教程
- 让分子在PPT里“动”起来
- “gcc“ not found
- 告别“手抄报表” 锐捷网络RIIL引领南方医科大学南方医院数字运营
- [luogu p1088] 火星人
- linux mint 18虚拟机下设置1080P分辨率的方法
- modbus_tk库的使用和分析
- 数据湖数据仓库仓湖一体
- 世界级医学院校--哈佛医学院进修各大教学附属医院申请指南