昨天第一次为自己的windows mobile程序制作CAB安装包,但是在生成过程中,却出现了这样一个问题:
编译完成 -- 0 个错误,0 个警告
time -> G:\WindowsMobile\time\time\bin\Debug\time.exe
------ 正在启动项目“SmartDeviceCab1”的预生成验证 ------
------ 已完成项目“SmartDeviceCab1”的预生成验证 ------
------ 已启动生成: 项目: SmartDeviceCab1, 配置: Debug ------
正在生成文件“G:\WindowsMobile\time\SmartDeviceCab1\Debug\SmartDeviceCab1.cab”...
"C:\Program Files\Microsoft Visual Studio 8\smartdevices\sdk\sdktools\cabwiz.exe" "G:\WindowsMobile\time\SmartDeviceCab1\Debug\SmartDeviceCab1.inf" /dest "G:\WindowsMobile\time\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
Error: The INF file contains Unicode characters that could not be converted correctly to ANSI
错误: Windows CE CAB 向导遇到了错误。有关更多信息,请参阅输出窗口。
========== 生成: 1 成功或最新,1 失败,0 被跳过 ==========
生成主文件成功,但在生成CAB安装文件的时候,却提示错误。在网上找了整整一个下午,看到网友遇到此类问题很多,整整不下百条,都是这种问题。也有一部分解决方法,但用这些方法我怎么也发布不了。还是出现这种错误!
后来,在家经过一个小时的反复研究,终于成功制作CAB文件。只要记住这些要点,这个问题一定可以解决。
要记住的两点就是:
1、在部署的安装包项目的属性中,一定要把“manufacturer”(制造商)项填写成英文或数字,不能为中文。此时的“属性”不是选中项目后右键中的属性,而中选中项目后,按F4键出现的发生窗口。
把其中的manufacturer项的值改为非中文。
2、因为制作的安装包程序有“快捷方式”,所以在“文件系统”窗口中把“快捷方式”的名称也要改为非中文。即可!OK,成功!
笔者测试:这个问题碰到两次了,都是因为包含中文的原因。