首先新建一个Win32项目,想把一个EXE文件打包,DLL文件、或者空文件(比如仅仅想修改目标设备的注册表)打包过程都是一样的:
![clip_image002 clip_image002](https://i-blog.csdnimg.cn/blog_migrate/6a073777bd78f60fec07c32eb656d58b.jpeg)
![clip_image004 clip_image004](https://i-blog.csdnimg.cn/blog_migrate/e71a2a79da4b4a1b1da288136ba622e9.jpeg)
![clip_image006 clip_image006](https://i-blog.csdnimg.cn/blog_migrate/b3cd1bb08159bfbf272cff2564041e0d.jpeg)
现在在原来的项目上添加一个智能设备CAB项目:
![clip_image008 clip_image008](https://i-blog.csdnimg.cn/blog_migrate/ed9799cabdbcf89b10d9cdd99d5dcf31.jpeg)
![clip_image010 clip_image010](https://i-blog.csdnimg.cn/blog_migrate/ca4124e6579c66c7b5402fc8e5ac04dd.jpeg)
文件系统中选择需要将你的EXE或者DLL文件放到目标设备的哪个文件夹上。如果需要在目标设备“Program Files”文件夹上再新建个文件夹,则在“Program Files”上右击添加文件夹:
![clip_image012 clip_image012](https://i-blog.csdnimg.cn/blog_migrate/757b4c068096d4d1d6e8bfe88d326d30.jpeg)
这里我们想把项目生成的EXE程序放到Windows文件夹上,则删除“Program Files文件夹”,新建个“Windows文件夹”,并在上面添加项目输出:
![clip_image014 clip_image014](https://i-blog.csdnimg.cn/blog_migrate/392d0d5f4086eeadeea44d18c40ba9cb.jpeg)
![clip_image016 clip_image016](https://i-blog.csdnimg.cn/blog_migrate/8ab65042930395076dedc37ee27c5c6a.jpeg)
![clip_image018 clip_image018](https://i-blog.csdnimg.cn/blog_migrate/731aabc12248087714543b4078ce9c66.jpeg)
我们现在不光要把EXE文件添加到目标设备,还要修改目标设备的注册表,现在先切换到注册表试图:
![clip_image020 clip_image020](https://i-blog.csdnimg.cn/blog_migrate/175181bd3708d88c2f39d27bad13e703.jpeg)
可以新建,可以导入(导入现有的REG文件,一般是从模拟器中的注册表保存得到的):
![clip_image022 clip_image022](https://i-blog.csdnimg.cn/blog_migrate/81105a1f64ac5b6d64a71b9da8ca5d49.jpeg)
![clip_image024 clip_image024](https://i-blog.csdnimg.cn/blog_migrate/3c424fdac3d5c5bdfab772d0b5d6e479.jpeg)
我常习惯直接修改CAB的项目配置文件,此处注意这个文件只支持ASCII码,当里面有汉字时(当你的机器名是中文时,或者前面的添加注册表键值时可能造成),编译时会出错,提示Unicode转换ASCII码错误:
![clip_image026 clip_image026](https://i-blog.csdnimg.cn/blog_migrate/d55bc8ac48d9d05c50c17bff445828a0.jpeg)
这里就是从注册表试图中添加的配置信息:
![clip_image028 clip_image028](https://i-blog.csdnimg.cn/blog_migrate/e84a8628b3864b3be9628319581f4aa5.jpeg)
OK,下面点击生成吧。在开发中,如果我们想看DLL运行时的效果时,常常需要这样制作CAB包。
![clip_image002[6] clip_image002[6]](https://i-blog.csdnimg.cn/blog_migrate/c1a21350b80df92ae9224d34babd4ea2.jpeg)
![clip_image002[10] clip_image002[10]](https://i-blog.csdnimg.cn/blog_migrate/5c7be080aa0b258807f48d12b20e5eb6.jpeg)
最后你的Cab包可能需要代码签名,否则一些像服务这样的DLL文件如果本身也没有签名的话将不能正常运行。
下面介绍的是如何在手机“程序”一栏中添加快捷方式:
将/windows/start menu/programs下的一个快捷方式拷贝到PC上修改成:21#MyApplication.exe,修改完毕后,保存,并把此快捷方式改名,拷贝到手机的/windows/start menu(“开始”菜单)/programs(程序)目录下。将MyApplication.exe拷贝到Windows目录下,此时你就会发现Program下有你的应用程序了。这些操作可以使用上面介绍的CAB包实现。
![clip_image002[8] clip_image002[8]](https://i-blog.csdnimg.cn/blog_migrate/ac82fa9974a5eee1c68727b4cb25e841.jpeg)