内容转自MSDN

1.首先,制作自己的智能设备工程

2.添加cab工程:

为解决方案添加智能设备 CAB 项目

  1. 打开现有的智能设备项目,并确保“解决方案资源管理器”可见。

  2. 在“文件”菜单上指向“添加”,然后单击“新建项目”。

    出现“添加新项目”对话框。

  3. 在“项目类型”窗格中,展开“其他项目类型”,再单击“安装和部署”。

  4. 在“模板”窗格中单击“智能设备 CAB 项目”。

    这是唯一可用于智能设备的 CAB 项目类型。其他项目类型仅用于桌面解决方案。

  5. 在“名称”框中,键入 CABProject,然后单击“确定”。

    该 CAB 项目随即添加到解决方案中,并显示在“解决方案资源管理器”中。现在显示“文件系统编辑器”的两个窗格。

更改产品名称和其他项目属性

  1. 在“解决方案资源管理器”中单击“CABProject”(如果尚未选定)。

  2. 在“视图”菜单上单击“属性窗口”,或打开“属性”窗口。

  3. 在属性网格的“ProductName”字段中,将值更改为“MyProduct”。

    “ProductName”属性的值决定了在文件夹名称和“添加或删除程序”对话框中为应用程序显示的名称。

    • 还可以使用此窗口更改制造商的名称,以及指定操作系统的最低和最高版本。

    • 可以将“OSVersionMin”属性设置为 4.21,以指示您的 Pocket PC 应用程序具有屏幕方向感知功能。但是,将此属性设置为 4.21 会阻止应用程序安装到基于 Windows Mobile 2003 或更早版本的 Pocket PC 上。若要允许在此类设备上进行安装,并通知较新的设备该程序具有屏幕方向感知功能,则必须手动修改 .inf 文件,将“BuildMax”属性设置为下列值之一:

      0xA0000000,指示应用程序支持方形屏幕(240x240 像素)

      0xC0000000,指示应用程序支持屏幕旋转

      - 或 -

      0xE0000000,指示应用程序支持方形屏幕和屏幕旋转。

      有关更多信息,请参见位于 MSDN 上的文章 Developing Screen Orientation-Aware Applications(开发识别屏幕方向的应用程序)。

    • 对于基于 Windows Mobile 2003 SE 及更低版本的 Pocket PC 解决方案,“Compress”属性和“NoUninstall Device Deployment”属性必须为 false。请注意,对于配备了 Compact Framework 2.0 的设备,此选项可以设置为 true。

    • 如果您使用的是 Windows CE 安装程序 DLL,使用此属性网格可以指定文件名和位置。有关 Windows CE 安装程序 DLL 的更多信息,请参见 Pocket PC 或 Smartphone SDK 文档。

更改 CAB 文件的名称并添加身份验证

  1. 在“解决方案资源管理器”中右击“CABProject”,然后单击“属性”。

    出现 CAB 项目的“属性页”对话框。在“输出文件名”框中,将 CAB 文件的名称和路径更改为Debug/MyApp.cab,然后单击“确定”。

  2. 还可以使用此属性页为项目添加身份验证。身份验证对于 Smartphone 解决方案是必需的,但是在基于 Windows Mobile 2003 SE 及更低版本的 Pocket PC 解决方案上,身份验证不受支持。

为 CAB 项目添加设备项目应用程序

  1. 在“文件系统编辑器”的左窗格中,单击“应用程序文件夹”,以指定在后续步骤中选择的文件将安装到目标设备上的此文件夹中。

    如果看不到“文件系统编辑器”,请在“解决方案资源管理器”中右击 CAB 项目名称,单击“视图”,再单击“文件系统”。

  2. 在 Visual Studio 中的“操作”菜单上指向“添加”,然后单击“项目输出”。

  3. 在“添加项目输出组”对话框中,从“项目”下拉列表中选择您的智能设备项目。

  4. 从输出列表中选择“主输出”,然后单击“确定”。

为设备项目应用程序创建快捷方式

  1. 在“文件系统编辑器”的右窗格中,选择“<应用程序项目名称> 的主输出”。

  2. 在“操作”菜单上单击“创建 <应用程序项目名称> 的主输出的快捷方式”。

    此命令将在“输出”项下面添加一个“快捷方式”项。

  3. 右击该“快捷方式”项,单击“重命名”,然后将该快捷方式重命名为适合于快捷方式的名称。

将此快捷方式移动到“开始”菜单或 Programs 文件夹中

  1. 在“文件系统编辑器”的左窗格中,右击“目标计算机上的文件系统”,指向“添加特殊文件夹”,然后单击“Start Menu 文件夹”或“Programs 文件夹”。

  2. 将此快捷方式从“应用程序文件夹”拖动到“Start Menu 文件夹”或“Programs 文件夹”。

添加注册表项

  1. 在“解决方案资源管理器”中单击 CAB 项目。

  2. 在“视图”菜单上指向“编辑器”,然后单击“注册表”。

  3. 在“注册表编辑器”中,右击 HKEY_CURRENT_USER,然后单击“新建项”。

  4. 当“注册表编辑器”中显示“新建项”项时,将其重命名为“SOFTWARE”。

  5. 右击此新项,指向“新建”,然后单击“项”。

  6. 当“注册表编辑器”中显示“新建项”项时,将其重命名为“MyCompany”。

  7. 右击“MyCompany”项,然后单击“属性窗口”。

    “名称”值已更改为“MyCompany”。

生成 CAB 文件

  1. 在“生成”菜单上单击“生成 CABProject”。

    - 或 -

    在“解决方案资源管理器”中右击“CABProject”,再单击“生成”。

  2. 在“文件”菜单上单击“全部保存”。

    Smartphone 解决方案的 CAB 文件在部署到最终用户的设备上之前必须进行数字签名。基于 Windows Mobile 2003 SE 及更低版本的 Pocket PC 解决方案不支持数字签名。

将 CAB 文件部署到设备上

  1. 在“Windows 资源管理器”中定位到存储此解决方案的文件夹。可以在解决方案的“CABProject/Release”文件夹中找到此 CAB 文件。

  2. 将 CAB 文件复制到使用 ActiveSync 4.0 或更高版本进行连接的设备上。

    当用户在设备上的“资源管理器”中点击此 CAB 文件名时,Windows CE 将解开该 CAB,并将应用程序安装到设备上。

    有关更多信息,请参见 Smartphone 和 Pocket PC SDK 文档。

在使用中发现一些问题如下:

1.用VS2008打包CAB布支持中文字符

比如我定义 Default字符串值为 URL:zd协议,就报错;去掉中文就OK

错误如下

Error: The INF file contains Unicode characters that could not be converted correctly to ANSI

2.不支持带空格参数的值

比如我定义 Default字符串值为 "/Program Files/xxx/xxx.exe" "%1",报错如下

Error: Line  44 - unsupported DirID 0
Error: File d:/systmp/cwinltmp/wiz231.inf contains DirIDs, which are not supported

临时解决办法:

我用VS2008做出CAB后,用wince cab manager 3.0打开

继续编辑,修正上面的值为我要的,保存,OK!

还请大家指点问题的所在

在vs2008工程中制作cab包的更多相关文章

  1. 制作CAB包

    制作CAB包 inf文件 INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚 ...

  2. C# 将DLL制作CAB包并在浏览器下载,自动安装。(Activex)(包括ie打开cab包一直弹出用户账户控制,确定之后无反应的解决办法。)

    制作Activex程序网上有很多方法我就不说了,我的业务主要做的就是将DLL打包成CAB供浏览器下载. 下面制作证书,以及制作cab包需要用到一些工具.我将工具包上传到自己的博客园里了,以供大家下载. ...

  3. 在java工程中导入jar包的注意事项

    在java工程中导入jar包后一定要bulid path,不然jar包不可以用.而在java web工程中导入jar包后可以不builld path,但最好builld path.

  4. VS2008 工程中部分文件不参与编译 从生成中排除【Worldsing笔记】

    Visual Studio 2008 .VS2008.VC2008工程源文件配置.编译配置   有时编写代码时,往往存在这样的需求(或是希望有这样的功能):一个工程经过不共同的配置实现不同的版本或是功 ...

  5. Delphi发布ActiveX控件 制作CAB包 数字签名相关

    文件: SignTool.rar 大小: 84KB 下载: 下载 最近我正在研究ActiveX技术.我使用Delphi 7创建了一个具有ActiveForm的ActiveX控件应用程序.这个控件产生一 ...

  6. 【idea】idea如何在maven工程中引入jar包

    在pom.xml文件中引入所有代码包后,项目右键--maven--reimport </dependencies>

  7. 【转】在XCode工程中创建bundle包

    http://www.giser.net/?p=859 Bundle Programming Guide: https://developer.apple.com/library/ios/docume ...

  8. android studio 使用jar包,arr包和怎么使用githup开源项目中的aar包或module

    我这里的android studio的版本是2.2.3版本 一.现在大家都用android studio了,就有人问怎么使用jar包 其实使用jar包比较简单 直接吧jar放入工程的app目录下的li ...

  9. 如何制作Jar包并在android中调用jar包

    android制作jar包: 新建android工程,然后右击,点击导出,选择导出类型为Java下的JAR file,在java file specification 中不要选择androidmani ...

随机推荐

  1. cdh-5.10.0搭建安装

    1.修改主机名为master, slave1, slave2 vim /etc/sysconfig/network HOSTNAME = master HOSTNAME = slave1 HOSTNA ...

  2. python 小程序,猜年龄

    要求如下:

  3. STM32L15XXX 入门笔记

    一.系统时钟默认是32M,最高支持32M,不过下图已经改成72M也可以运行,可能会有什么后遗症,位置在 二.定时器1ms两种方法1.Main.c里 void delay_nms(uint32_t ti ...

  4. 七、uboot 代码流程分析---C环境建立

    7.1 start.S 修改 在上一节中的流程中,发现初始化的过程并没由设置看门狗,也未进行中断屏蔽 如果看门狗不禁用,会导致系统反复重启,因此需要在初始化的时候禁用看门狗:中断屏蔽保证启动过程中不出 ...

  5. Postfix 邮件服务 - PostfixAdmin

    PostfixAdmin 基于web的postfix邮件发送服务器的管理工具,可以直接管理postfix的虚拟域名和邮件用户,前提是这些数据是存储在mysql或者是PostgreSQL数据库中. Po ...

  6. 第5月第7天 php slim

    1. <?php require 'Slim/Slim.php'; require 'DBManagement.php'; \Slim\Slim::registerAutoloader(); $ ...

  7. 爬虫之验证码IP攻防心得——小总结

    小前言: 一般来说,现在很多平台注册.登录的时候会涉及到验证码,这样做的目的是为了防止恶意程序恶意访问,从而给服务器造成一定的压力,会浪费一定的资源,大家也都知道,现在这种短信平台,邮箱平台等都是收费 ...

  8. cmake使用示例与整理总结

    转自: http://blog.csdn.net/wzzfeitian/article/details/40963457/ 本文代码托管于github  https://github.com/carl ...

  9. SpringBoot整合Druid(阿里巴巴)数据源

    (1).添加相关依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId ...

  10. Ubuntu/Debian apt-get 404 Not Found Package Repository Errors,无法找到包的错误

    最简单最常用的方法是,使用如下命令更新到新的版本: sudo apt-get dist-upgrade 但是这个方法有时候不一定能起作用,那么可以使用以下直接替换的命令: sudo sed -i -e ...