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



我有一个c#应用程序,我在windows移动6.1设备的清洁启动期间安装。它安装正确,但是,我需要让它在干净启动后自动启动。

我总是要在清洁启动之后再热启动它才能启动。

我怎样才能避免这种情况?

我猜,你正在使用CAB文件在cleanboot期间安装c#应用程序。

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

另一种方法是在c#应用程序安装后安装第二个cab,它只调用你的应用程序,甚至使用setup dll。

参见http://msdn.microsoft.com/en-us/library/bb158796.aspx了解如何将多个cab打包到一个安装中。

清洁启动安装程序和AutoStart的问题是,当安装cab时,操作系统已经运行WindowsStartUp和其他自动启动程序。因此,您通常需要重新启动,然后使用StartUp(或HKLMInit)执行您的应用程序。

您也可以使用脚本引擎来安装cab,然后启动已安装的应用程序。例如使用MortScript,它支持在SD卡2577或类似的目录(卷名2577)中用作"AutoStart.exe"。脚本可以调用wcelload .exe来安装应用程序,然后启动已安装应用程序的可执行文件。类似于使用批处理。

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

例如:你的出租车在Flash File StoreMyInstallMyCab。安装MyApp.exe到Program FilesMyApp:

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

最新更新