在vs2008工程中制作cab包
内容转自MSDN
1.首先,制作自己的智能设备工程
2.添加cab工程:
为解决方案添加智能设备 CAB 项目
打开现有的智能设备项目,并确保“解决方案资源管理器”可见。
在“文件”菜单上指向“添加”,然后单击“新建项目”。
出现“添加新项目”对话框。
在“项目类型”窗格中,展开“其他项目类型”,再单击“安装和部署”。
在“模板”窗格中单击“智能设备 CAB 项目”。
这是唯一可用于智能设备的 CAB 项目类型。其他项目类型仅用于桌面解决方案。
在“名称”框中,键入 CABProject,然后单击“确定”。
该 CAB 项目随即添加到解决方案中,并显示在“解决方案资源管理器”中。现在显示“文件系统编辑器”的两个窗格。
更改产品名称和其他项目属性
在“解决方案资源管理器”中单击“CABProject”(如果尚未选定)。
在“视图”菜单上单击“属性窗口”,或打开“属性”窗口。
在属性网格的“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 文件的名称并添加身份验证
在“解决方案资源管理器”中右击“CABProject”,然后单击“属性”。
出现 CAB 项目的“属性页”对话框。在“输出文件名”框中,将 CAB 文件的名称和路径更改为Debug/MyApp.cab,然后单击“确定”。
还可以使用此属性页为项目添加身份验证。身份验证对于 Smartphone 解决方案是必需的,但是在基于 Windows Mobile 2003 SE 及更低版本的 Pocket PC 解决方案上,身份验证不受支持。
为 CAB 项目添加设备项目应用程序
在“文件系统编辑器”的左窗格中,单击“应用程序文件夹”,以指定在后续步骤中选择的文件将安装到目标设备上的此文件夹中。
如果看不到“文件系统编辑器”,请在“解决方案资源管理器”中右击 CAB 项目名称,单击“视图”,再单击“文件系统”。
在 Visual Studio 中的“操作”菜单上指向“添加”,然后单击“项目输出”。
在“添加项目输出组”对话框中,从“项目”下拉列表中选择您的智能设备项目。
从输出列表中选择“主输出”,然后单击“确定”。
为设备项目应用程序创建快捷方式
在“文件系统编辑器”的右窗格中,选择“<应用程序项目名称> 的主输出”。
在“操作”菜单上单击“创建 <应用程序项目名称> 的主输出的快捷方式”。
此命令将在“输出”项下面添加一个“快捷方式”项。
右击该“快捷方式”项,单击“重命名”,然后将该快捷方式重命名为适合于快捷方式的名称。
将此快捷方式移动到“开始”菜单或 Programs 文件夹中
在“文件系统编辑器”的左窗格中,右击“目标计算机上的文件系统”,指向“添加特殊文件夹”,然后单击“Start Menu 文件夹”或“Programs 文件夹”。
将此快捷方式从“应用程序文件夹”拖动到“Start Menu 文件夹”或“Programs 文件夹”。
添加注册表项
在“解决方案资源管理器”中单击 CAB 项目。
在“视图”菜单上指向“编辑器”,然后单击“注册表”。
在“注册表编辑器”中,右击 HKEY_CURRENT_USER,然后单击“新建项”。
当“注册表编辑器”中显示“新建项”项时,将其重命名为“SOFTWARE”。
右击此新项,指向“新建”,然后单击“项”。
当“注册表编辑器”中显示“新建项”项时,将其重命名为“MyCompany”。
右击“MyCompany”项,然后单击“属性窗口”。
“名称”值已更改为“MyCompany”。
生成 CAB 文件
在“生成”菜单上单击“生成 CABProject”。
- 或 -
在“解决方案资源管理器”中右击“CABProject”,再单击“生成”。
在“文件”菜单上单击“全部保存”。
Smartphone 解决方案的 CAB 文件在部署到最终用户的设备上之前必须进行数字签名。基于 Windows Mobile 2003 SE 及更低版本的 Pocket PC 解决方案不支持数字签名。
将 CAB 文件部署到设备上
在“Windows 资源管理器”中定位到存储此解决方案的文件夹。可以在解决方案的“CABProject/Release”文件夹中找到此 CAB 文件。
将 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包的更多相关文章
- 制作CAB包
制作CAB包 inf文件 INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚 ...
- C# 将DLL制作CAB包并在浏览器下载,自动安装。(Activex)(包括ie打开cab包一直弹出用户账户控制,确定之后无反应的解决办法。)
制作Activex程序网上有很多方法我就不说了,我的业务主要做的就是将DLL打包成CAB供浏览器下载. 下面制作证书,以及制作cab包需要用到一些工具.我将工具包上传到自己的博客园里了,以供大家下载. ...
- 在java工程中导入jar包的注意事项
在java工程中导入jar包后一定要bulid path,不然jar包不可以用.而在java web工程中导入jar包后可以不builld path,但最好builld path.
- VS2008 工程中部分文件不参与编译 从生成中排除【Worldsing笔记】
Visual Studio 2008 .VS2008.VC2008工程源文件配置.编译配置 有时编写代码时,往往存在这样的需求(或是希望有这样的功能):一个工程经过不共同的配置实现不同的版本或是功 ...
- Delphi发布ActiveX控件 制作CAB包 数字签名相关
文件: SignTool.rar 大小: 84KB 下载: 下载 最近我正在研究ActiveX技术.我使用Delphi 7创建了一个具有ActiveForm的ActiveX控件应用程序.这个控件产生一 ...
- 【idea】idea如何在maven工程中引入jar包
在pom.xml文件中引入所有代码包后,项目右键--maven--reimport </dependencies>
- 【转】在XCode工程中创建bundle包
http://www.giser.net/?p=859 Bundle Programming Guide: https://developer.apple.com/library/ios/docume ...
- android studio 使用jar包,arr包和怎么使用githup开源项目中的aar包或module
我这里的android studio的版本是2.2.3版本 一.现在大家都用android studio了,就有人问怎么使用jar包 其实使用jar包比较简单 直接吧jar放入工程的app目录下的li ...
- 如何制作Jar包并在android中调用jar包
android制作jar包: 新建android工程,然后右击,点击导出,选择导出类型为Java下的JAR file,在java file specification 中不要选择androidmani ...
随机推荐
- android measure的时候报空指针
1.使用listview的时候,在代码中动态设置其高度,在android低版本中,这个低版本是以4.4为界,会报measure的空指针,原因是低版本relativelayout有个bug,使用list ...
- C++中的memset、zeroMemory和={0}操作( 转)
使用C/C++编程时,常使用ZeroMemory.memset或 “={0}”来对结构体对象进行初始化或清零.然而这三种方式都有各自的特点,使用时需谨慎,否则容易出现严重错误,本人今日解决一个导致宕机 ...
- Redis 主从模式
系统:Centos6.6x64安装目录:/usr/local/主:192.168.100.103从:192.168.100.104 ,下载安装: 安装依赖: # yum install gcc tcl ...
- CF418D Big Problems for Organizers
传送门 题意,给一棵树,每次给两个点\(x,y\),求\(\max_{i=1}^{n}(\min(di_{x,i},di_{y,i}))\) 看std看了好久 以下是一个优秀的在线做法,\(O(nlo ...
- LibreOJ 题解汇总
目录 #1. A + B Problem #2. Hello, World! #3. Copycat #4. Quine #7. Input Test #100. 矩阵乘法 #101. 最大流 #10 ...
- 【windows核心编程】远程线程DLL注入
15.1 DLL注入 目前公开的DLL注入技巧共有以下几种: 1.注入表注入 2.ComRes注入 3.APC注入 4.消息钩子注入 5.远线程注入 6.依赖可信进程注入 7.劫持进程创建注入 8.输 ...
- linux学习笔记1——指令的基本格式及基本文件操作
从今天开始就正式踏上了linux的学习历程.linux作为绝大多数服务器采用的操作系统,是每个开发人员都非常有必要掌握的操作系统.初学时,我没有直接在电脑上安装linux操作系统,而是采用了虚拟机的方 ...
- 编写html与js交互网页心得:编写两个按钮切换显示不同的图片
第一步:先建立一个html网页,如下: <!DOCTYPE html><html> <head> <meta charset="utf-8&quo ...
- CAP理论介绍
经典CAP图 分布式系统的CAP理论:理论首先把分布式系统中的三个特性进行了如下归纳: ●一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值.(等同于所有节点访问同一份最新的数据副本) ...
- Jquert data方法获取不到数据,显示为undefined。
在使用jquery的data-xxxx自定义属性名使用小写 以下是我测试代码: 结果显示Undefined 现在将“data-Name”变为“data-name”,将大写的部分全部变为小写. 可以获取 ...