1

Windows Mobile 6.1 デバイスで cleanboot 中にインストールする c# アプリケーションがあります。正しくインストールされますが、クリーンブート後に自動起動する必要があります。

ハンドヘルドを起動するには、クリーンブート後に常にウォームブートする必要があります。

どうすればこれを回避できますか?

4

1 に答える 1

2

クリーンブート中に CAB ファイルを使用して C# アプリをインストールしていると思います。

DLL の Install_Exit 関数呼び出しを使用して cab ファイルをインストールした後、cab 内で setup.dll を使用してアプリを起動することができます (setupdll の例はこちら: http://www.codeproject.com/Articles/7724/Creating- Pocket-PC-Application-Setup-Packages-Usin )。しかし、MS は、cab インストール自体の呼び出しファイルに依存することはできないと述べています。

別のアプローチは、C# アプリのインストール後にインストールされ、セットアップ dll を使用してもアプリを呼び出すだけの 2 番目の cab です。

複数のキャブを 1 つのインストールにパックする方法については、http://msdn.microsoft.com/en-us/library/bb158796.aspxも参照してください。

cleanboot インストーラーと AutoStart の問題は、CAB がインストールされたときに、OS が既に \Windows\StartUp を実行しており、他の自動起動も実行していることです。そのため、通常は再起動が必要で、スタートアップ (または HKLM\Init) を使用してアプリを実行します。

また、スクリプト エンジンを使用して cab をインストールし、インストールしたアプリを起動することもできます。たとえば、SD Card\2577 または同様のディレクトリ (ボリューム名\2577) 内の「AutoStart.exe」として使用できる MortScript を使用します。スクリプトは wceload.exe を呼び出してアプリをインストールし、その後、インストールされたアプリの実行可能ファイルを開始できます。バッチを使用するようなもの。

これは Intermec のインストールであるため、\Flash File Store\UserAutoInstall_sstransferagent.xml を使用して、アプリのインストールと起動を自動化できます。

例: cab は \Flash File Store\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>

よろしく

于 2012-12-29T08:53:04.990 に答える