WM有约(五):部署应用程序

WM有约(五):部署应用程序

 

Written by Allen Lee

 

创建安装包

创建一个新的项目,用来部署Windows Mobile应用程序的项目模板是Other Project Types\Setup and Deployment下的Smart Device CAB Project:

图 1

输入项目名称,然后单击OK完成项目的创建。部署项目创建好后,Visual Studio将会显示File System (Setup)选项卡:

图 2

右键单击Setup项目,然后单击Add菜单下的Project Output:

图 3

Add Project Output Group对话框将会打开,同时选中Primary output、Localized resources和Content Files:

图 4

其中,Primary output就是我们的应用程序主体,Content Files就是Options.xml,那么Localized resources是什么呢?因为Orientation Aware Control是通过资源文件来储存窗体的布局信息(例如控件的位置和大小等)的:

图 5

所以我们要一并把它部署到目标设备上。

接着,我希望在Windows Mobile的程序里显示这个应用程序的快捷方式,那么我得先添加一个Programs Folder:

图 6

选中左边的Programs Folder,右键单击右边空白处,并单击Create New Shortcut:

图 7

Select Item in Project对话框将会打开,选中里面Application Folder,然后单击OK:

图 8

对话框将会进一步显示Application Folder里面的内容,选中里面的Primary output from Alt (Active),然后单击OK关闭对话框:

图 9

此时,Programs Folder右边将会出现一个快捷方式,把这个快捷方式重命名为应用程序的名字就可以了:

图 10

最后,生成Setup项目,完成了!

 

安装和运行应用程序

把模拟器的共享文件夹设为Setup项目的输出文件夹:

图 11

这样,你就可以在模拟器里看到存储卡了:

图 12

运行安装程序,Windows Mobile将会问你把应用程序安装在设备里还是存储卡里:

图 13

这里,我选择安装在设备里,单击Install继续。安装完毕后,你将会在Programs里找到这个应用程序:

图 14

运行应用程序,哈哈,出错了:

图 15

还记得我们是怎样计算"下一次"的吗?

代码 1

由于程序第一次运行,所以m_PinnedDates集合里什么也没有,此时调用Last方法就会抛出异常。没事,改用LastOrDefault方法就好了(当然,相应的逻辑需要调整一下,否则就会看到"下一次"是个很怪的日期!),不过这里为了简单起见,我已经准备了一份有数据的PinnedDates.txt文件了,把这个替换应用程序自动生成的空白文件,然后再运行应用程序,这次就正常了:

图 16

图 17

什么?你问我什么时候把这个应用程序部署到我的手机上用?哎……

 

最后……

每个故事都会有结束的时候,我不知道应该为这个系列写点什么样的结语,不知道是否太久没有动笔的缘故,脑子似乎空荡荡的,今晚一直在循环播放周杰伦的《晴天》,或许,允许我用里面的几句歌词来做结语,也好掩饰一下我的江郎才尽:

从前从前有个人爱你很久
但偏偏风渐渐把距离吹得好远
好不容易又能再多爱一天
但故事的最后你好像还是说了拜拜

posted @ 2008-12-24 00:00  Allen Lee  阅读(...)  评论(...编辑  收藏