3

Win CE(コンパクトフラッシュカード)のハードディスクに入れるアプリケーションを作りました。私の問題は、アプリケーションが SQL Server CE 3.5 データベースを使用しているのに、イメージが SQL Server CE 3.0 で作成されているように見えることです。イメージのビルドを開始したときに、3.5 バージョンを選択できませんでした。

アプリケーションをデバッグするたびに 3.5 バージョンの dll が展開されるため、開発段階で問題が発生することはありません。

アプリケーションが起動すると (OS の起動時に自動的に起動されます)、例外を含むメッセージ ウィンドウがポップアップし、アプリケーションを起動できません。私の質問は、SQL Server CE 3.5 をイメージにインストールする方法、または後で CAB ファイルを使用してインストールする方法、または起動時に毎回インストールする方法です。

実行中の OS システムで正しい CAB ファイル (3 つの CAB) を実行すると、バージョン 3.5 がインストールされ、アプリケーションが起動しますが、OS を再起動すると変更が保存されず、コミットされません。イメージをビルドする前にカタログに 3.5 バージョンを追加するか、起動時に毎回インストールするか、最初の起動後に 1 回永続的にインストールする最後のオプションが必要です。

システムが起動するたびに CAB をインストールするソリューションを提供していただければ、うまくいきますが、システムの起動時に SQL Server CE 3.5 データベースを使用するアプリケーションを実行する必要があることを考慮してください。の CAB は、アプリケーションの自動起動より前に実行する必要があります。

前もって感謝します。

4

1 に答える 1

1

いくつかのオプションがあります。最も望ましくないのは、起動時にCABを実行することです。

1つのオプションは、可能であれば最新のSQLCEバイナリをOSに配置することです。更新されたすべてのQFEがインストールされている場合、これはカタログで利用できます。何らかの理由でQFEをインストールできない場合は、PlatfromBuilderがでプルするソースバイナリをいつでも置き換えることができます%WINCEROOT%\OTHERS\SQLCOMPACT

もう1つのオプションは、すべてのSQLCEバイナリをアプリケーションのデプロイメントに含めることです。CABは必要ありません。DLLをアプリフォルダーに配置するだけです(ネイティブDLLの衝突を防ぐためにこのルートを使用する場合は、OSからSQLCEを削除することをお勧めします)。これらのバイナリのソースはにあり%PROGRAM_FILES%\Microsoft SQL Server Compact Edition\v3.5\Devicesます。SQLCEのアップデートには新しいOSが必要ないため、これは実際に私が好むルートです。

于 2012-04-20T13:10:35.580 に答える