SQL Compact がインストールされているかどうかをプログラムで確認する方法はありますか...実際には、PC にコンパクト エディションがインストールされているかどうかを確認し、SQL Compact dll を含めたり除外したりできるようにする必要があります...私のアプリケーションには、同じ.sdfファイルにアクセスする異なるプロセスがあり、それらのdllが含まれていてコンパクトがインストールされている場合、アクセス違反エラーが発生するため...
何か案は?
SQL Compact がインストールされているかどうかをプログラムで確認する方法はありますか...実際には、PC にコンパクト エディションがインストールされているかどうかを確認し、SQL Compact dll を含めたり除外したりできるようにする必要があります...私のアプリケーションには、同じ.sdfファイルにアクセスする異なるプロセスがあり、それらのdllが含まれていてコンパクトがインストールされている場合、アクセス違反エラーが発生するため...
何か案は?
これを行う最善の方法は、SQL Compact をインストール プロセスの要件にし、インストールされていない場合はインストールする必要があることをユーザーに伝えることです。プロジェクトの公開セクションで前提条件として設定することで、チェックを追加できます。プロパティ。SC のデフォルトのインストール パスを確認することで、明らかに手動でコーディングできますが、これは最も信頼できる方法ではありません。
レジストリチェックはかなり信頼できると思います。
reg query "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v3.5"
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v3.5
InstallDir REG_SZ C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\
バージョン REG_SZ 3.5.5692.0
NativeDir REG_SZ C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\
ServicePackLevel REG_DWORD 0x1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v3.5\ENU
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v3.5\GAC
使用しているプログラミング言語については触れていませんが、.NET からこれを行う場合は、Microsoft.Win32.Registry API を使用してください。