内容转自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. 010、base镜像 (2018-12-27 周四)

    参考https://www.cnblogs.com/CloudMan6/p/6799197.html   什么是base镜像       不依赖其他镜像,从scratch构建.或者是其他可以作为基础镜 ...

  2. LL(1)文法分析表的构造和分析过程示例

    在考完编译原理之后才弄懂,悲哀啊.不过懂了就好,知识吗,不能局限于考试. 文法: E→TE' E'→+TE'|ε T→FT ' T'→*FT'|ε F→id| (E) 一.首先判断是不是 LL(1)文 ...

  3. 二、主目录 Makefile 分析(3)

    2.8 编译选项 重新回到 主 makefile 中执行 2.8.1 u-boot  的编译顺序 代码166 到 189 行,这些是 u-boot 文件编译的顺序,由代码可以看到,首先是从cpu/$( ...

  4. Nginx 中 FastCGI 配置示例

    nginx 中 FastCGI 参数:主要是在 http 层 :保证PHP环境的高校运行 主要对PHP用来解析 fastcgi_cache_path /tmp/fastcgi_cache levels ...

  5. JavaSE之Math类

    下列哪个选项是正确计算42度(角度)的余弦值? double d=Math.cos(42) double d=Math.cosine(42) double d=Math.cos(Math.toRadi ...

  6. POJ2031 Building a Space Station【最小生成树】

    题意: 就是给出三维坐标系上的一些球的球心坐标和其半径,搭建通路,使得他们能够相互连通.如果两个球有重叠的部分则算为已连通,无需再搭桥.求搭建通路的最小边长总和是多少. 思路: 先处理空间点之间的距离 ...

  7. loadrunner函数解密之web_reg_save_param

    loadrunner工具的使用,最关键的在于3个地方: A:脚本的编写 B:场景设计 C:性能测试结果分析 其 中难度比较大的第一步是:编写脚本,有很多人对于loadrunner里面的各种函数使用的并 ...

  8. break case

    #include<stdio.h> main() { ; switch (g){ : : printf("haha"); break; : printf("h ...

  9. 卷积神经网络(CNN)学习笔记1:基础入门

    卷积神经网络(CNN)学习笔记1:基础入门 Posted on 2016-03-01   |   In Machine Learning  |   9 Comments  |   14935  Vie ...

  10. 解决xadmin登录卡顿延迟的问题

    我的django项目引入xadmin作为后台,之前登录一直很快,今天突然怎么也登录不了. 怀疑是xadmin请求了网络资源,当我断网再次登录,果然进去了. 然后在xadmin文件夹右键-find in ...