惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
小众软件
小众软件
The Last Watchdog
The Last Watchdog
Latest news
Latest news
P
Palo Alto Networks Blog
C
Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
L
Lohrmann on Cybersecurity
P
Privacy International News Feed
NISL@THU
NISL@THU
T
Threat Research - Cisco Blogs
T
Threatpost
T
The Exploit Database - CXSecurity.com
S
Schneier on Security
Spread Privacy
Spread Privacy
T
Tor Project blog
Cyberwarzone
Cyberwarzone
C
Cybersecurity and Infrastructure Security Agency CISA
AWS News Blog
AWS News Blog
S
Securelist
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy & Cybersecurity Law Blog
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
C
CERT Recently Published Vulnerability Notes
V
Visual Studio Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
博客园 - 司徒正美
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
罗磊的独立博客
A
Arctic Wolf
腾讯CDC
WordPress大学
WordPress大学
IT之家
IT之家
Last Week in AI
Last Week in AI
博客园 - 聂微东
P
Proofpoint News Feed
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research
Hacker News: Ask HN
Hacker News: Ask HN
Help Net Security
Help Net Security
Blog — PlanetScale
Blog — PlanetScale
爱范儿
爱范儿
美团技术团队
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Tailwind CSS Blog

博客园 - ruinet

WCF通用服务请求类 使用MVP模式实现B/S和C/S平台的功能通用 WCF中使用扩展行为来验证连接的用户 Microsoft.Practices.Unity依赖注入使用实例 简洁的Asp.net菜单控件 Windows Mobile无线打印的实现 使用HTML,CSS快速导出数据到Excel 软件技术网站精选 CakePHP架构入门 升级Sql Server 2000到Sql Server 2005中要注意的问题 asp.net web开发综合技能 编写第一个Silverlight程序 Saas学习 在Windows Mobile上控制输入法 - ruinet - 博客园 在Windows Mobile创建桌面快捷方式 在仿真设备中使用主机网络 CSS,JavaSript,Html实用小代码 重启PocketPC移动设备 使用Ajax控件引发性能问题
智能移动项目打包发布经验交流
ruinet · 2007-08-26 · via 博客园 - ruinet

智能移动项目打包发布经验交流

2007-08-26 08:34  ruinet  阅读(1633)  评论()    收藏  举报

       

最近项目中使用到了PDA设备,开发智能移动程序在vs2005中开发,非常容易。你既可以用 C#,vb.net又可以使用c++开发。在连接数据库方面,你既可以使用本地的 SQL Mobile数据库,又可以Web Service连接远程数据,同时在vs2005中还支持直接连接SQL Server数据库。

我要和大家分享的是我在智能设备打包发布上的一些经验。

方法一:直接在项目名上右击选“部署”,vs2005就能自动将需要的文件部署到PDA设备中,这种方法最简单,这样部署程序运行肯定是没有问题的。但这样一个不好就是,如果要部署的设备多了,启不是很费力,同时当PDA重启还原了或程序出错了要重新安装岂不是又要打开工程进行部署。所以这样方法还是不实际。方法二:打包发行,最实际的方法还是制作一个安装包。这样一个做好了,就可以给所以的设备使用。这种比起上种方法可能稍为复杂点,搞不好,制作好的安装程序还不能运行。通过的实际经验,我觉得制作安装包,要注意将所需要的文件大包进去,尤其如果你的程序对数据库的引用(SQL Mobile还是SQL Server),就算你对release目录下所以的文件大包进去都是没有用的。因为这样直接打包进去的依然不会在安装时进行注册。如果你想打包进某个dll文件,一定要COM注册(注意只要添加的文件才有此选项)

 

像这种打包方法有时很难知道,到底要添加那些文件,开始我也对此为难,因为PDA的空间都有限怎样只把有用的文件打包进去呢。同时SmartDevices\SDK目录下针对不同设备文件版本也不一样,不可能一次把每个都打包进去。当然你还可以一个的试到底哪个有用哪个没有用。最简单的一个方法就是,你按照第一种方法进行部署,在输出窗口看到底vs2005自动部署进去了那些文件,你会看到下面的内容:

正在部署“D:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\windowsce\wce400\armv4\NETCFV2.ppc.armv4.cab”
正在部署“F:\learn code\SMC_PDA\BLL\bin\Release\SMC_PDA.DAL.dll”
正在部署“D:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v3.0\wce400\ARMV4\sqlce30.ppc.wce4.armv4.CAB”
正在部署“D:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v3.0\wce400\ARMV4\sqlce30.repl.ppc.wce4.armv4.CAB”
正在部署“D:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v3.0\wce400\ARMV4\sqlce30.dev.chs.ppc.wce4.armv4.CAB”
正在部署“D:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Client\v2.0\wce400\ARMV4\sql.ppc.wce4.armv4.CAB”
正在部署“D:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Client\v2.0\wce400\ARMV4\sql.dev.chs.ppc.wce4.armv4.CAB”
正在部署“F:\learn code\SMC_PDA\SMC_PDA\Symbol.Barcode.Design.dll”
正在部署“F:\learn code\SMC_PDA\Utility\bin\Release\SMC_PDA.Utility.dll”
正在部署“F:\learn code\SMC_PDA\BLL\bin\Release\SMC_PDA.BLL.dll”
正在部署“F:\learn code\SMC_PDA\SMC_PDA\bin\Release\SMC_PDA.exe”
正在部署“D:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\windowsce\diagnostics\System_SR_chs.cab”


这里它自动部署进去的是些安装包
SmartDevices\SDK下找到在cab安装包的同一个目录下也用对应的dll文件,如果可以直接把安装包复制到PDA上进行安装,也可以在你自己的安装包中添加对应的dll 文件但一定要选COM自注册。

如果你的PDA上要安装对个程序,你完全可以制作一个安装包将一些常用的文件打包进一个安装包中,这样在安装其他程序是就不用对需要的文件进行打包,这就叫一次打包多个利用,同时也节省空间。

在制作好安装包后,可以写一段注册表,让在PDA重启时自动安装,同时也可以自动启动。这种实现的方法大都通过注册表进行,(在一些PDA设备中重启会将系统还原到原始状态,所只的重启不是指一般的关机开机)

下面是我的一段注册表进行自动安装的:

; For SQL CE SDK

[HKEY_CURRENT_USER\Software\MyPrograms\Startup\Programs\Prog12]

"Name"="\windows\wceload.exe"

"Command"="/noaskdest \Application\MySetup.CAB"

"Continue"=dword:0

"ColdBootOnly"=dword:1

\Application\MySetup.CAB是要安装的文件路径,复制上面的代码到一个reg文件中,将这个reg文件放在Application目录下就可以了,同时记得将安装包设为只读,不然一次安装后它就会自动给删除。

自动启动指定程序:

1写一个注册表指定要自动启动run文件,所在的目录(将注册表文件依然放在Application目录下)

[HKEY_CURRENT_USER\Software\Symbol\Startup]
 "Path"="\\Application\\Startup"
     
 "NoSetup"=dword:1
2 如上注册表设定自动启动的文件夹为\\Application\\Startup\,然后在Startup目录下建一个run文件,在文件写如一句你要自动启动的文件的路径,如:
\Program Files\Pro\MyPro.exe