有什么方法可以通过编程方式找到是否安装了 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\ 服务包级别 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。