您的位置:首页 > 其它

Mobile平台VS2008制作cab安装包

2014-11-20 00:30 302 查看
环境:
OS:Windows
Xp sp3
IDE:   Microsoft Visual Studio 2008  版本 9.0.30729.1 SP   Microsoft .NET Framework  版本 3.5 SP1

说明:

        本篇文档的目的,是为了简要说明,如何使用VS2008制作智能设备的CAB安装包(Wince测试可以使用;Mobile是否可用,未测试)。

第一步:创建Cab工程。

            打开VS2008后,建立工程。

   菜单 ”新建“ --> “项目”,打开“新建项目”对话框,选择“智能设备CAB项目”,如下图:



      输入完名称,选择好位置后,点击确定,工程建立完毕。如下图:



 

第二步:添加要打包的程序:

直接将程序的目录拖到应用程序文件夹,直接拖的原因是添加文件速度快。也可以右键添加文件。



 

文件拖放完毕后,视图内已经有文件(红框内标注),左侧资源管理器,也有内容了:



 

第三步,编译:

菜单“生成”-->“生成解决方案”,完成编译。

不过,添加文件后,就去编译,有可能出错的:

------ 正在启动项目“SmartDeviceCab1”的预生成验证 ------ 
------ 已完成项目“SmartDeviceCab1”的预生成验证 ------
------ 已启动生成: 项目: SmartDeviceCab1, 配置: Debug ------
正在生成文件“D:\Cab\CAB\SmartDeviceCab1\SmartDeviceCab1\Debug\SmartDeviceCab1.cab”...

"c:\Program Files\Microsoft Visual Studio 9.0\smartdevices\sdk\sdktools\cabwiz.exe" "D:\Cab\CAB\SmartDeviceCab1\SmartDeviceCab1\Debug\SmartDeviceCab1.inf" /dest "D:\Cab\CAB\SmartDeviceCab1\SmartDeviceCab1\Debug\" /err
CabWiz.log


Windows CE CAB Wizard

?Warning: Section [RegKeys] has no data
Warning: Section [DefaultInstall] key "AddReg" - there are no section entries to process
Warning: Section [Shortcuts] has no data
Error: The INF file contains Unicode characters that could not be converted correctly to ANSI

错误: Windows CE CAB 向导遇到了错误。有关更多信息,请参阅输出窗口。
========== 生成: 成功或最新 0 个,失败 1 个,跳过 0 个 ==========

出错的原因是:注册表/文件/目录/工程的属性值中出现了中文;在使用过程中,属性值中没有使用汉字,就没有出现这样的错误。我这里出现“微软中国”。



 

修改后编译成功,日志如下:

------ 正在启动项目“SmartDeviceCab1”的预生成验证 ------ 
------ 已完成项目“SmartDeviceCab1”的预生成验证 ------
------ 已启动生成: 项目: SmartDeviceCab1, 配置: Debug ------
正在生成文件“D:\Cab\CAB\SmartDeviceCab1\SmartDeviceCab1\Debug\SmartDeviceCab1.cab”...

"c:\Program Files\Microsoft Visual Studio 9.0\smartdevices\sdk\sdktools\cabwiz.exe" "D:\Cab\CAB\SmartDeviceCab1\SmartDeviceCab1\Debug\SmartDeviceCab1.inf" /dest "D:\Cab\CAB\SmartDeviceCab1\SmartDeviceCab1\Debug\" /err
CabWiz.log


Windows CE CAB Wizard
========== 生成: 成功或最新 1 个,失败 0 个,跳过 0 个 ==========

附加说明:

   

    1. 增加目录 :

     右击“目标计算机上的文件系统”。

     


     2.打开注册表视图:

     右点工程名称-->"视图"-->"注册表":      

       


 
 3.修改注册表:
        右点-->"新建":
特别说明:键值中也不能出现中文汉字,否则也出现第三步编译中的错误。
    


 
     4.修改CAB在Wince设备上的默认安装目录:
     在VS2008的操作画面中没有找到如何设置,只能去修改*.info文件了。
到Debug目录下找到对应的*.inf,打开后找到脚本片段:

[CEStrings]
AppName="SmartDeviceCab1"
InstallDir=%CE1%\%AppName%

修改InstallDir的值,即可。
如安装到根目录:InstallDir=\%AppName%
如安装到\Flash目录:InstallDir=\Flash\%AppName%
指定了安装目录后,会影响到安装的,如果指定的目录不存在,会安装失败。

修改后保存*.inf,就该生成cab文件,在编译日志中找到编译命令,前边的描述中我已经字体蓝色加粗了。
放在CMD中运行一下就行了。这里再把指令贴出来:



 
此时已经我们想要的CAB安装包已经得到了,就在工程的Debug目录下。

另外:不管用VS2005还是VS2008打CAB包,好像有BUG;就是被打包的文件,不同路径但同名,同名文件,会被当做同一个文件处理。请谨慎使用。再推荐一个工具,名字叫《wince Cab manager》,版本3.0,如何使用如何下载,问问度娘吧。

文档到此结束。还请高手们,不啬赐教!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: