![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuEGO1ETZ0kjYhJDNyE2MlZTYyQDMiJmMzEmYiVWOxIjMfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
索引
<a href="http://www.cnblogs.com/liulun/archive/2011/12/22/2298533.html" target="_blank">DotNet4应用程序打包工具->升级版【三】宿主程序分析+全部源码下载</a>
<a href="http://www.cnblogs.com/liulun/archive/2011/12/19/2292878.html" target="_blank">DotNet4应用程序打包工具->升级版【二】安装工具分析</a>
<a href="http://www.cnblogs.com/liulun/archive/2011/12/12/2284360.html" target="_blank">DotNet4应用程序打包工具(把DotNet4安装程序打包进你的应用程序;WINAPI开发,无dotNet环境也可顺利执行)【一】整体思路</a>
废话少说
入口函数
入口函数是所有逻辑的集合体
判断目标环境是否有相关的注册表项
先从资源里提取出注册表项
然后判断
如果没有相关的注册表项
就要释放出想要预先安装的程序
读取资源
并把资源写入文件
成功释放之后
就执行这个程序
注意WaitForSingleObject的WINAPI
是等待进程退出
如果进程没有被成功启动
就会删除释放的预安装程序
接着再次检查注册表项
result = CheckDotNet4();
如果仍旧没有相关的注册表项
那么说明预安装程序没有安装成功,退出程序
---------------------
至此,检查工作已经完成
入口函数里剩下的代码
是执行目标程序的工作
不在多做解释
---------------------------
--------------------------------------------------------
如果您喜欢我的文章,请您推荐我的文章吧~谢谢~