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
什么?你问我什么时候把这个应用程序部署到我的手机上用?哎……
最后……
每个故事都会有结束的时候,我不知道应该为这个系列写点什么样的结语,不知道是否太久没有动笔的缘故,脑子似乎空荡荡的,今晚一直在循环播放周杰伦的《晴天》,或许,允许我用里面的几句歌词来做结语,也好掩饰一下我的江郎才尽:
从前从前有个人爱你很久
但偏偏风渐渐把距离吹得好远
好不容易又能再多爱一天
但故事的最后你好像还是说了拜拜