最近项目中使用到了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

转载于:https://www.cnblogs.com/ruinet/archive/2007/08/26/869946.html

智能移动项目打包发布经验交流相关推荐

  1. SpringBoot系列三:SpringBoot基本概念(统一父 pom 管理、SpringBoot 代码测试、启动注解分析、配置访问路径、使用内置对象、项目打包发布)...

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.了解SpringBoot的基本概念 2.具体内容 在之前所建立的 SpringBoot 项目只是根据官方文档实现的一个基础程 ...

  2. java restful项目打包_66-JT项目04(项目打包发布/JSON/项目业务)

    关于项目打包/发布问题说明 利用maven工具项目打包 说明: 父级JT 其中包含了2个子级项目 jt-manager 依赖于jt-common.所以项目打包是有顺序的.要先打包被依赖的项目 或者直接 ...

  3. 【Python】Python项目打包发布(一)(基于Pyinstaller打包多目录项目)

    Python项目打包发布汇总 [Python]Python项目打包发布(一)(基于Pyinstaller打包多目录项目) [Python]Python项目打包发布(二)(基于Pyinstaller打包 ...

  4. spring项目打包发布详细步骤

    spring项目打包发布详细步骤 1.添加pom文件配置 <packaging>jar</packaging> 2.在IDEA中打开 Run - > Edit Confi ...

  5. SpringBoot项目打包发布

    SpringBoot项目打包发布 SpringBoot打包发布jar jar类型项目可以打成jar包 打包流程 导入SpringBoot打包插件 将项目导出成jar包并更新pom文件 使用maven ...

  6. (三)01 -Vue项目打包发布移动App——vue.config.js中配置相对路径publicPath为空字符串 在public中添加HBuilderX的打包配置文件manifest.json

    Vue 项目打包发布移动 App--npm run build打包 & vue.config.js文件中配置相对路径publicPath为空字符串 & 在 public中添加HBuil ...

  7. 使用pyinstaller将python项目打包发布为exe可执行文件

    pyinstaller模块用于将python项目打包发布成exe文件,以方便地在没有安装python环境的机器上运行.该模块使用 pip install pyinstaller 安装即可. 一.常用参 ...

  8. 使用nginx前后台项目打包发布

    使用nginx前后台项目打包发布: 进入前端项目:cd client 打包文件:npm run build 打包完成,生成dist目录(复制dist目录下的所有文件) 下载nginx http://n ...

  9. Vue - vue+webpack创建的项目打包发布至服务器,页面空白及背景图片不显示问题解决

    vue+webpack创建的项目打包发布至服务器,页面空白及背景图片不显示问题解决 一. 页面显示空白 二. 背景图片不显示 一. 页面显示空白 解决方法: config > index.js ...

最新文章

  1. 2017年6月21号课堂笔记
  2. 的写法_横、竖的写法
  3. curl有php内存缓存,PHP CURL内存泄露的解决方法
  4. 一篇文章带你实操代码理解盒子模型
  5. keyshot10 pro for mac最新版
  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的网上书城
  7. Vue - ElementUI中循环渲染表格,控制字段的显示与隐藏 v-if与v-for同时使用
  8. Git实战手册(三): stash解惑与妙用
  9. 计算机机房的维护管理论文,学校计算机机房维护与管理论文
  10. idea怎么给项目改名_IDEA相关配置【java项目改造成web项目】
  11. classpath路径浅谈
  12. android qq输入法表情,QQ输入法如何输入表情
  13. vnc远程访问linux服务器,如何通过 VNC 远程访问 Linux 虚拟机
  14. Slate轨道工具使用(三)—位置还原问题修复
  15. 宝塔面板配置SSL证书
  16. 速途在线沙龙11期:王通夫唯首次聚首共话SEO
  17. 线程的6种状态(NEW,RUNNABLE,BLOCKED,WAITING,TINED_WATING,TEMINATE)
  18. SQLserver分离数据库
  19. 【Python报错解决】from PIL import Image 提示调用_imaging失败,已解决
  20. Keep It Mac版(文本笔记工具)

热门文章

  1. python打乱列表的方法_python打乱列表
  2. c语言明解课后答案,《明解C语言》第三章笔记和练习题
  3. oracle支持ipv6,准备现有的网络以支持 IPv6
  4. mysql——数据库设计中int与varchar中的长度含义
  5. php-redis中文参考手册_zset
  6. C#调用VC的DLL的接口函数参数类型转换一览表
  7. 删除网络信息服务器端,网络安全:手动清除gh0st远控服务端
  8. oracle运维dba面试题,一份DBA面试题目---亲身经历
  9. 第6章 基于锁的并发数据结构设计
  10. git忽略文件或者文件夹