分享

Microsoft VS2008 制作 Wince Cab安装包

 飞鹰飞龙飞天 2016-05-29

环境:

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项目”,如下图:

VS2008 制作 Wince Cab安装包 - 蓦然回首 - 众里寻她千百度

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

VS2008 制作 Wince Cab安装包 - 蓦然回首 - 众里寻她千百度

 

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

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

VS2008 制作 Wince Cab安装包 - 蓦然回首 - 众里寻她千百度

 

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

VS2008 制作 Wince 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 个 ==========

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

VS2008 制作 Wince 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

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

附加说明:

   

    1. 增加目录 :

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

     VS2008 制作 Wince Cab安装包 - 蓦然回首 - 众里寻她千百度

     2.打开注册表视图:

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

       VS2008 制作 Wince Cab安装包 - 蓦然回首 - 众里寻她千百度

 

 3.修改注册表:

        右点-->"新建":

特别说明:键值中也不能出现中文汉字,否则也出现第三步编译中的错误。

    VS2008 制作 Wince Cab安装包 - 蓦然回首 - 众里寻她千百度

 

     4.修改CAB在Wince设备上的默认安装目录:

     在VS2008的操作画面中没有找到如何设置,只能去修改*.info文件了。

到Debug目录下找到对应的*.inf,打开后找到脚本片段:

[CEStrings]

AppName="SmartDeviceCab1"

InstallDir=%CE1%\%AppName%

修改InstallDir的值,即可。

如安装到根目录:InstallDir=\%AppName%

如安装到\Flash目录:InstallDir=\Flash\%AppName%

指定了安装目录后,会影响到安装的,如果指定的目录不存在,会安装失败。

修改后保存*.inf,就该生成cab文件,在编译日志中找到编译命令,前边的描述中我已经字体蓝色加粗了。

放在CMD中运行一下就行了。这里再把指令贴出来:

VS2008 制作 Wince Cab安装包 - 蓦然回首 - 众里寻她千百度

 

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

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

文档到此结束。还请高手们,不啬赐教!!


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多