WinCE 冷启动程序自动安装

背景:

由于RF 枪在冷启后自动恢复系统,需要对应用程序重新安装.

方案:

Application 目录下文件掉电或冷启后依旧存在.编写注册表文件读取Application下的CAB文件并自动安装.

具体步骤:

1、在Application目录下创建一个文件夹,命名为TMS.

2、将需要安装的DPTS_TMS.cab、NETCFv35.Messages.zh-CHS.cab、NETCFv35.wce.armv4.cab文件拷贝到Application\TMS目录下

3、防止CAB文件自动重置的设置

  为了防止cab在安装完毕后消失,可设置文件为只读。

  也可以通过cpy文件来实现cab文件的一个副本,安装副本,副本自动消失来实现的。

  也可以通过注册表命令/delete 0来防止CAB安装完消失的情况(详细见编辑REG文件第四种情况)

  cpy文件方式为:

  编写一个CPY文件,新建一个记事本,内容为:

  \application\TMS\NETCFv35.wce.armv4.cab  >  \Program Files\TMS\NETCFv35.wce.armv4.cab

  \application\TMS\NETCFv35.Messages.zh-CHS.cab  >  \Program Files\TMS\NETCFv35.Messages.zh-CHS.cab

  \application\TMS\DPTS_TMS.cab  >  \Program Files\TMS\DPTS_TMS.cab

  保存为TMS.cpy,加入到application目录下。(这里采用设置为只读的方式)

4、编写REG文件

; For Windows CE .NET devices
[HKEY_CURRENT_USER\Software\Symbol\Startup\Programs\Prog1]
"Name"="\\windows\\wceload.exe"
"Command"="/noaskdest \\application\\TMS\\NETCFv35.wce.armv4.cab"
"Continue"=dword:0
"ColdBootOnly"=dword:1

[HKEY_CURRENT_USER\Software\Symbol\Startup\Programs\Prog2]
"Name"="\\windows\\wceload.exe"
"Command"="/noaskdest \\application\\TMS\\NETCFv35.Messages.zh-CHS.cab"
"Continue"=dword:0
"ColdBootOnly"=dword:1

[HKEY_CURRENT_USER\Software\Symbol\Startup\Programs\Prog3]
"Name"="\\windows\\wceload.exe"
"Command"="/noaskdest \\application\\TMS\\DPTS_TMS.cab"
"Continue"=dword:0
"ColdBootOnly"=dword:1

----------delete 0 可以实现不用设置只读CAB文件安装完也不会消失

[HKEY_CURRENT_USER\Software\Symbol\Startup\Programs\Prog4]
"Name"="\Windows\wceload.exe"
"Command"="/delete 0 /noaskdest \Application\TMS\tms3.cab"
"Continue"=dword:00000000
"ColdBootOnly"=dword:00000001

其中,"Command"这一行最后面是安装包的路径。如果路径中出现空格如:Program Files路径的写法为

"Command"="/noaskdest \"\\Program Files\\TMS\\DPTS_TMS.cab\""

如果有多个安装包,其安装的前后次序可能是跟Prog1有关,即第2个REG改成Prog2,第3个Prog3……。 

";"为注释,参数/noaskdest使不询问安装路径 另外还有/noui,/Silent用法有待研究

保存为TMS.REG,放到Application目录下.

最后冷启动设备(1+9+开机键),设备进入系统后就会自动安装相应程序

另外需要注意的是制作CAB安装包的时候Default Install Dir

不能采用"%CE1%"形式,需要使用"%ProgramFiles%",否则在自动安装过程中会出错.

另外还可以设置自动启动应用程序

  如果需要在设备重启并安装完所需的程序后,自动执行程序,则在PC上新建一个扩展名为RUN的文件,内容为该程序的路径,比如:

  \Program Files\MyApp\MyApp.exe

  然后将该文件复制到设备的\Application\Startup\中。

  再检查一下Application目录中是否有STARTUP.REG,其内容是否为:

  [HKEY_CURRENT_USER\Software\Symbol\Startup]

  "Path"="\\Application\\Startup"

  "NoSetup"=dword:1

  如果没有则新建一个。

原文地址:https://www.cnblogs.com/chenjm/p/2628557.html