Windows CE编程初体验之自动安装制作

最近正在研究Windows CE的编程,这几天刚写了两个小程序,都跟扫描有关,设备是Symbol的MC3000,系统是WinCE5.0,用.NET的C#写的代码。
虽然程序很简单,但确实也碰到了不少问题,上网搜索、发帖求教,终于也积累了不少经验,贴这里共享一下吧。
先写一下设备重启后自动安装的问题吧,网上大部分说的好像都是在EVC下的方法,反正不适用。
这里说一下MC3000的自动安装制作。

由于设备重启(冷启动)后,所有之前部署过的程序、文档都会丢失,只有Application等几个目录(图标类似硬盘)中的文件不会变动。因此需要让设备在重启后自动安装所需的安装包。
1、将安装包复制到Application目录, 并将安装包设为只读,否则在安装完后,系统会自动删除安装包。如果有多个安装包,可以直接放在Application目录,也可以在其下新建一个文件夹,如MyInstall,并将相应的安装包放入。
2、在PC上新建REG文件,比如要安装.Net的SDK、Symbol的SDK、自己的程序,则可新建NETCF.REG、SYMBOL.REG、MYAPP.REG。
------REG文件内容如下-----------
; For Windows CE .NET devices
[HKEY_CURRENT_USER/Software/Symbol/Startup/Programs/Prog14]
"Name"="/windows/wceload.exe"
"Command"="/noaskdest /Application/MyInstall/netcf.all.wce4.ARMV4I.cab"
"Continue"=dword:0
"ColdBootOnly"=dword:1
----------------------------------
其中,"Command"这一行最后面是安装包的路径。如果有多个安装包,其安装的前后次序可能是跟Prog14有关,即第2个REG改成Prog15,第3个Prog16……这一点没有经过验证,反正我是这么做的。
然后将REG文件复制到设备的Application目录。
如果需要在设备重启并安装完所需的程序后,自动执行程序,则在PC上新建一个扩展名为RUN的文件,内容为该程序的路径,比如:
/Program Files/MyApp/MyApp.exe
然后将该文件复制到设备的/Application/Startup/中。再检查一下Application目录中是否有STARTUP.REG,其内容是否为:
[HKEY_CURRENT_USER/Software/Symbol/Startup]
"Path"="//Application//Startup"
"NoSetup"=dword:1
如果没有则新建一个。
最后冷启动设备(1+9+开机键),设备进入系统后就会自动安装并执行相应程序了。如果发现有不需要启动的程序,可在/Application/Startup/下检查其余的RUN文件内容,不需要的就删除。

你可能感兴趣的:(windows)