如何在Visual Studio 2005中创建用于移动设备(PDA)的安装程序&MSDN演练:打包智
1. 在Visual Studio中创建一个新的项目,项目类型是“安装和部署”中的“智能设备CAB项
目”。这个项目我使用的名称是“CEDeploy”。
2. 在部署项目的“文件系统”中,会出现“Program Files文件夹”和“应用程序文件夹”,这里
分别代表的是智能设备上的“Program files”和你安装的目标文件夹,对于“Program Files”文件夹可以不予理睬,我们需要做的时候对应用程序文件夹进行操作。 3. 选择“应用程序文件夹”,在右键快捷菜单中选择“添加”-“项目输出……”,在“添加项目输
出组”对话框中选择你要加入的应用程序的主输出、内容文件等信息。如果你要打包安装的这个项目还引用了一些其他的项目,这个部署项目可能在添加“主输出”过程中没有自动的将你已经引用的其他项目文件DLL打包进来,这时候需要手工将这些项目的主输出添加进来。打包的时候,有时候IDE可以自动的添加,不清楚是什么原因。 4. 创建快捷方式到“开始”菜单中。通常在安装部署项目时都需要创建一个快捷方式,这个
快捷方式一般都是位于“程序”菜单下。在“目标计算机的文件系统”下选择右键快捷菜单中的“添加特殊文件夹” -\文件夹\,创建完成后,选中“Programs文件夹”,在右边的窗口空白处选择右键快捷菜单中的“创建新的快捷方式”,在“选择项目的项”对话框中找到你的应用主输出,选择即可。在新创建的这个快捷方式中,快捷方式的名称不要使用汉字。
至此,安装程序创建完成。可以通过生成这个部署项目得到CAB文件。将CAB文件复制到移动设备中,在移动设备的资源管理中,点击该文件即可完成安装。
需要注意的地方:
1. 这里的部署项目中不能包含汉字,包括目录名、快捷方式名称。
2. 在“解决方案管理器”中选择部署项目,然后按F4键,打开部署项目属性,将这个里面的
“Manufacture”、“ProductName”名称都修改成英文的。
3. 如果你要部署的移动设备中没有安装.NET Compact Framework 2.0,则需要首先安装
框架才能运行,这个框架安装的CAB文件位于%PROGRAM FILES%\\Microsoft Visual Studio
8\\SmartDevices\\SDK\\CompactFramework\\2.0\\v2.0\\WindowsCE\\wce400\\armv4目录
下,名称是NETCFv2.ppc.armv4.cab。一般来说,不同类型的移动设备使用的框架安装程序是不同的,通常都可以在%PROGRAM FILES%\\Microsoft Visual Studio 8\\SmartDevices\\SDK\\CompactFramework文件夹下找到。
因为在生成部署项目的过程中,如果包含了汉字,则cabwiz.exe生成时候会产生错误,告诉你无法转换unicode字符到ansi格式的文件中。我想这应该是VS自带的一个小问题。
第一次做智能设备的安装程序,上面所说的方法肯定还有不足之处,哪位达人如果发现了,请告知下。
转自:http://blog.csdn.net/fcsh820/archive/2009/02/13/3886769.aspx
《演练:打包智能设备解决方案以便进行部署》
本演练演示如何使用 Visual Studio 2005 将应用程序及其资源打包到一个 CAB 文件中,以便可以将它部署到最终用户的智能设备上。
注意
显示的对话框和菜单命令可能会与“帮助”中描述的不同,具体取决于当前的设置或版本。若要更改设置,请在“工
具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。
在本演练中,您可以从任何用 Visual Basic 2005、Visual C# 2005 或 Visual C++ 2005 编写的智能设备解决方案开始。有关更多信息,请参见演练:创建简单应用程序。
本演练演示如何执行下列操作:
? ? ? ? ? ? ?
将一个 CAB 项目添加到解决方案中。 更改产品名称。 更改输出路径。
用应用程序的主输出填充 CAB 文件。 在必要时添加依赖项。 创建应用程序的快捷方式。 编辑注册表项。
先决条件
一个现有的智能设备解决方案。对于本打包演练,可以考虑创建并生成一个简单的项目,例如,演练:创建用于设备的 Windows 窗体应用程序中介绍的项目。
注意
显示的对话框和菜单命令可能会与“帮助”中描述的不同,具体取决于当前的设置或版本。若要更改设置,请在“工
具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。
安装 CAB 项目
为解决方案添加智能设备 CAB 项目
1. 打开现有的智能设备项目,并确保“解决方案资源管理器”可见。 2. 在“文件”菜单上指向“添加”,然后单击“新建项目”。
出现“添加新项目”对话框。
3. 在左侧的“项目类型”窗格中展开“其他项目类型”节点,再单击“安装和部署”。 4. 在右侧的“模板”窗格下选择“智能设备 CAB 项目”。
这是唯一可用于智能设备的 CAB 项目类型。其他项目类型仅用于桌面解决方案。
5. 在“名称”框中,键入 CABProject,然后单击“确定”。
此 CAB 项目即会添加到您的解决方案,并显示在“解决方案资源管理器”中。现在显示“文件系统编辑器”的两个窗格。
自定义 CAB 项目
更改产品名称和其他项目属性
1. 在“解决方案资源管理器”中选择“CABProject”(如果尚未选定)。 2. 在“视图”菜单上单击“属性窗口”,或打开“属性”窗口。
3. 在属性网格的“ProductName”字段中,将值更改为“MyProduct”。
“ProductName”属性的值决定了在文件夹名称和“添加或删除程序”对话框中为应用程序显示的名称。
o o
还可以使用此窗口更改制造商的名称,以及指定允许的最低和最高操作系统版本。 可以将“OSVersionMin”属性设置为 4.21,以指示您的 Pocket PC 应用程序具有屏幕方向感知功能。但是,将此属性设置为 4.21 会阻止应用程序安装到基于 Windows Mobile 2003 或更早版本的 Pocket PC 上。若要允许在此类设备上安装该程序,并通知较新的设备该程序具有屏幕方向感知功能,则必须手动编辑 .inf 文件,将“BuildMax”属性设置为下列值之一:
0xA0000000,指示应用程序支持方形屏幕(240x240 像素)
0xC0000000,指示应用程序支持屏幕旋转
- 或 -
0xE0000000,指示应用程序支持方形屏幕和屏幕旋转。
有关更多信息,请参见 MSDN 白皮书“Developing Screen Orientation-Aware Applications”(开发识别屏幕方向的应用程序)。
o
对于基于 Windows Mobile 2003SE 和更早版本的 Pocket PC 解决方案,“Compress”属性和“NoUninstall Device Deployment”属性必须为 False。请注意,对于配备了 Compact Framework 2.0 的设备,此选项可以设置为 true。有关更多信息,请参见“智能设备 Cab 项目”->“属性”窗口。
o
如果您使用的是 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. 从输出列表中选择“主输出”,然后单击“确定”。
注意
为使用 C++ 编写的应用程序创建智能设备 CAB 项目时,如果要动态链接到 DLL,必须手动向 CAB 项目添加所有依赖项,如 atl80.dll、mfc80U.dll 和/或 msvcr.dll。但是,为了减少 MFC/ATL DLL 的依赖项,强烈建议您使用静态链接。如果采用的是静态链接,则无需随同应用程序一起重新发布 DLL。如果采用的是动态链接,并需要在 CAB 中重新发布 DLL,请不要将 DLL 安装到设备上的系统目录(如 \\windows)中,而应将 DLL 安装到本地应用程序目录中。如果重新发布一个应用程序套件,而套件中的所有应用程序都动态地链接到 ATL/MFC 运行库,建议您将所有应用程序和运行库 DLL 安装到一个单独的应用程序目录中,并为可以放置在其自己的文件夹中的应用程序提供快捷方式。这样可以避免发生系统目录中的 DLL 在以后被替换,从而破坏动态链接到这
些 DLL 的任何应用程序的危险,同时还可以节省一些空间。
向 CAB 项目中添加依赖项(仅限 C++ 项目)
1. 在“解决方案资源管理器”中右击 CAB 项目的名称,指向“添加”,再单击“文件”。 2. 导航至 \\VC\\ce\\dll\\<平台>。 3. 选择要添加的文件。 o
对于 MFC 项目,请按 Ctrl,再单击 MFC80U.DLL、atl80.dll 和 msvcr80.dll。如果应用程序需要特定于 MFC 语言的资源,您可能还需要单击一个或多个特定于语言的 DLL。
o
对于 ATL 项目,请按 Ctrl,再单击 atl80.dll 和 msvcr80.dll。如果 ATL 解决方案支持 MFC,还需要单击 MFC80U.DLL。
o
对于 Win32 项目,请单击 msvcr80.dll。
4. 在“添加文件”对话框中单击“打开”,将文件添加到 CAB 项目中。 5. 在“文件系统编辑器”的左窗格中,右击“目标计算机上的文件系统”。 6. 单击“添加特殊文件夹”,然后单击“Windows 文件夹”。
如何在Visual Studio 2005中创建用于移动设备
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)