干净启动后的Windows Mobile 6.1自动启动应用程序

时间:2012-12-28 19:29:43

标签: c# windows-mobile boot

我在Windows Mobile 6.1设备上的cleanboot期间安装了一个c#应用程序。它安装正确,但是,我需要在cleanboot之后将其自动启动。

我总是必须在干净启动后对手持设备进行调整才能启动它。

我该如何避免这种情况?

1 个答案:

答案 0 :(得分:2)

我认为,您正在使用CAB文件在cleanboot期间安装C#应用程序。

使用DLL的Install_Exit函数调用(例如此处为setupdll示例:http://www.codeproject.com/Articles/7724/Creating-Pocket-PC-Application-Setup-Packages-Usin),您可以使用cab内的setup.dll在安装cab文件后启动应用程序。但是MS声明你不能依赖于调用cab安装本身的文件。

另一种方法是安装C#应用程序后安装的seond cab,即使使用安装程序,也只需调用您的应用程序。

另请参阅http://msdn.microsoft.com/en-us/library/bb158796.aspx了解如何将多个驾驶室装入一个装置。

cleanboot安装程序和AutoStart的问题是,操作系统已经安装了运行\ Windows \ StartUp以及其他自动启动。因此,您通常需要重新启动,然后使用StartUp(或HKLM \ Init)执行您的应用程序。

您也可以使用脚本引擎安装cab,然后启动已安装的应用程序。例如,使用MortScript,它支持在SD Card \ 2577或类似目录(卷名称\ 2577)中用作“AutoStart.exe”。该脚本可以调用wceload.exe来安装您的应用程序,然后启动已安装应用程序的可执行文件。就像使用批次一样。

由于这是Intermec安装,您可以使用\ Flash File Store \ UserAutoInstall_sstransferagent.xml自动安装和启动应用程序。

例如:您的驾驶室位于\ Flash文件存储\ MyInstall \ MyCab.cab,并将MyApp.exe安装到\ Program Files \ MyApp:

<?xml version="1.0"?>
<Devices>
    <Device Type="" Family="" Model="" Boot="">
        <Files SrcDir="\Flash File Store\UserAutoInstall">
            <File SrcName="" 
               DestName="wceload.exe" 
               DestDir="\Windows" 
               Run="true" 
               CmdLine='"\Flash File Store\MyInstall\MyCab.cab" /silent /verifyconfig /nodelete' 
            />
        <File SrcName="" 
               DestName="MyApp.exe" 
               DestDir="\Program Files\MyApp\MyApp.exe" 
               Run="NoWait" 
               CmdLine='' 
            />
        </Files>
   </Device>
</Devices>

问候