Motorola 企业移动终端(Mobile Computers)冷启动后软件程序自动安装的功能和实现
2012-11-30 15:46
721 查看
为了避免冷启后频繁安装应用程序和DotNet运行环境,可以参照如下的方法制作脚本文件:
1. MC3000(MC3190X)的机型应用程序的安装需要以下几个CAB文件:a) 应用程序打包成CAB文件(也可以不做安装包,具体见后面详解);
b) NETCFv2.wce5.armv4i.cab和System_SR_CHS.CAB,这是.NET Compact Framework v2.0和调试时的语言信息安装包;或者NETCFv35.wce.armv4.cab和 NETCFv35.Messages.zh-CHS.cab,这是.NET Compact Framework v3.5和调试 的语言信息安装包,一般而言,上述安装包会存放在如下目录:
C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE\wce500\armv4i
C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE
c) symbol.all.arm.cab,这是SYMBOL的一个安装包,在Symbol提供的软件开发包中有这个东东:
一般而言,上述安装包会存放在如下目录:C:\Program Files\Motorola EMDK for .NET\v2.6\Windows CE\MassDeployment\CE.NET
d) sqlce.dev.CHS.wce5.armv4i.CAB,sqlce.repl.wce5.armv4i.CAB,sqlce.wce5.armv4i.CAB,这三个CAB安装包是SQL CE数据库必须的。如果开发的应用软件不涉及SQL CE 数据库,则这些文件不需要安装, 一般而言,上述安装包会存放在如下目录: 一般而言,上述安装包会存放在如下目录:
C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i
2. 防止CAB文件自动重置的设置
简单的,为了防止cab在安装完毕后消失,可设置文件为只读。本方法通过cpy文件来实现cab文件的一个副本,安装副本,副本自动消失来实现的。
(1)首先编写CPY文件。新建一个记事本,然后在上面写下遵循以下格式的语句。
这里以WinCE6.0 NET ,Symbol MC3190为例:
\Application\InstallApp\netcf.all.wce4.armv4.cab1 > \netcf.all.wce4.armv4.cab
\Application\InstallApp\symbol.all.arm.cab1 > \symbol.all.arm.cab
\Application\InstallApp\pda.con > \pda.con
\Application\InstallApp\App2.lnk > \Windows\桌面\App.lnk
pda.con:为PDA程序的配置文件
App2.lnk:为应用程序的快捷方式,copy到桌面后,方便登录应用程序.
保存为.cpy文件的格式,在实际应用中,我是加入到application下的Demo.cpy文件中。
说明cab安装文件和应用程序配置文件PDA.con和快捷文件都保存在PDA的\application\AppInstall目录下,该目录下文件掉电或冷启后依旧存在。
AppInstall目录可以是自己定义的其它名称。
(2)然后编写REG文件。
; For Windows CE .NET devices
[HKEY_CURRENT_USER\Software\Symbol\Startup\Programs\Prog10]
"Name"="\\windows\\wceload.exe"
"Command"="/noaskdest \\netcf.all.wce4.armv4.cab"
"Continue"=dword:0
"ColdBootOnly"=dword:1
[HKEY_CURRENT_USER\Software\Symbol\Startup\Programs\Prog11]
"Name"="\\windows\\wceload.exe"
"Command"="/noaskdest \\symbol.all.arm.cab"
"Continue"=dword:0
"ColdBootOnly"=dword:1
其中,"Command"这一行最后面是安装包的路径。如果有多个安装包,其安装的前后次序需要设置成递增,即第2个REG改成Prog15,第3个Prog16……
将前面准备好的CAB文件同编写好的CPY / REG文件放到PDA的Application\AppInstall目录下,就实现了在手持终端系统冷启动后将Application路径下的CAB文件自动复 制到\windows路径下,并且自动安装。
3. 安装后自动运行软件
如果需要在设备重启并安装完所需的程序后,自动执行程序,则在PC上新建一个扩展名为RUN的文件,内容为该程序的路径,比如:
\Program Files\MyApp\MyApp.exe
然后将该文件复制到设备的\Application\Startup\中。再检查一下Application目录中是否有STARTUP.REG,其内容是否为:
[HKEY_CURRENT_USER\Software\Symbol\Startup]
"Path"="\\Application\\Startup"
"NoSetup"=dword:1
如果没有则新建一个。
4. 冷启PDA测试
最后冷启动设备(1+9+开机键),设备进入系统后就会自动安装并执行相应程序了。如果发现有不需要启动的程序,可在\Application\Startup\下检查其余的RUN文件内容,不需要的就删除
1、appCpy.cpy是把文件拷贝到windows目录下,以被安装。复制到设备的Application目录;后用新demo.cpy覆盖原机器中的demo.cpy
2、appReg.reg是把拷贝后的安装文件运行安装,不提示安装目录。将REG文件复制到设备的Application目录;
3、appRun.run是安装后自动运行,拷贝到\Application\Startup\中,再检查一下Application目录中是否有STARTUP.REG;
后用StartMenu.run覆盖旧的文件。PDA中有此文件。
4、首先检查\Application目录中是否存在STARTUP.REG,如果不存在,把本文件拷贝过去。将REG文件复制\Application目录中
5、查看是否存在\Application\STARTUP.REG文件,没有创建一个。
最后冷启动设备(1+9+开机键),设备进入系统后就会自动安装并执行相应程序了。
如果发现有不需要启动的程序,可在\Application\Startup\下检查其余的RUN文件内容,不需要的就删除
最后
1、应用程序可以不制作安装包,直接把运行程序及快捷方式放在Application目录下,并在CPY文件中建立快捷方
式的自动复制语句将快捷方式复制到桌面上,这样PDA冷起后,直接点击桌面的快捷方式就可以运行应用程序了。
2、cab文件放在\Application\AppInstall目录下。如果设为只读,在cpy文件中就不需要拷贝。
为了能cpy快捷方式,可在该目录下放入应用程序的快捷方式;
3、为了在桌面中有应用程序的快捷方式,可在cpy中,把应用程序快捷方式拷贝到桌面中。
运行注册表工具regedit.exe
[HKEY_LOCAL_MACHINE\init\BootVars] ,E:增加此项,为注册表修改后回写到Flash中
"RegistryFlags"=dword:1
以上绝大部分不用更改,只需要查对,一般只要修改[G]项及增加[E]项,达到注册表更改后保久到flash中
(2)demo.cpy
\Application\InstallApp\netcf.all.wce4.armv4.cab1 > \netcf.all.wce4.armv4.cab
\Application\InstallApp\symbol.all.arm.cab1 > \symbol.all.arm.cab
\Application\InstallApp\pda.con > \pda.con
\Application\InstallApp\App2.lnk > \Windows\桌面\App.lnk
(3)app.reg
; For Windows CE .NET devices
[HKEY_CURRENT_USER\Software\Symbol\Startup\Programs\Prog10]
"Name"="\\windows\\wceload.exe"
"Command"="/noaskdest \\netcf.all.wce4.armv4.cab"
"Continue"=dword:0
"ColdBootOnly"=dword:1
[HKEY_CURRENT_USER\Software\Symbol\Startup\Programs\Prog11]
"Name"="\\windows\\wceload.exe"
"Command"="/noaskdest \\symbol.all.arm.cab"
"Continue"=dword:0
"ColdBootOnly"=dword:1
(4)startup.reg(查看是否存在,如果不存在,需要添加)
[HKEY_CURRENT_USER\Software\Symbol\Startup]
"Path"="\\Application\\Startup"
"NoSetup"=dword:1
(5)app.run(为开机自动启动的应用程序名,程序路径不同,配置内容不同)
\Application\InstallApp\App.exe
注意目录"\"在不同的配置文件中,有时以"\\"出现,有时单以"\"出现,为不耽误您的排错时间,请照做就是了
相关文章推荐
- 以向VS 程序打包集成自动写入注册表功能为例,介绍如何实现自由控制安装过程
- vs2010 setup 打包 安装 BAT批处理实现自动安装软件功能
- C# 软件下载插件,软件自动更新功能实现,通过cmd命令调用应用程序,应用程序实现单例启动
- 利用PHP安装windows自动运行的服务,PHP程序可以实现长时间、自动运行、定时更新功能,直接可以用在项目中的类源代码
- 以向VS 程序打包集成自动写入注册表功能为例,介绍如何实现自由控制安装过程
- 关于android程序自动更新功能的实现,如何去除安装提示
- C#程序实现软件开机自动启动的两种常用方法
- java实现软件程序开机自动启动和创建程序的桌面快捷方式源代码
- Android应用自动更新功能的实现!!!软件更新,自动下载,安装
- Android实现软件列表的点击启动另外一个程序功能【附demo源码下载】
- Android应用自动更新功能的实现!!!软件更新,自动下载,安装
- java实现软件程序开机自动启动和创建程序的桌面快捷方式源代码
- 在红米note4上实现自动安装软件
- 高逼格的实现WiFi共享,不安装第三方wifi共享软件,两种方式实现开启wifi的功能
- C#实现在线软件自动升级程序-转
- C#制作“安装和部署”时,实现软件开机启动
- android使用已安装程序实现分享功能
- ubuntu16.04+xfce4截图、终端调出、锁屏的快捷键设置、去掉Alt+鼠标移动屏幕的功能、安装thunar
- 解决Ubuntu安装VM Tools请确保您已登录客户机操作系统。在客户机中装载CD驱动器启动终端,使用tar解压缩安装程序,然后执行vmware-insall.pl安装VMware Tools。