1

有什么方法可以通过编程方式找到是否安装了 SQL Compact...实际上我需要知道 PC 中是否安装了精简版,以便我可以包含或排除 SQL Compact dll...因为在我的应用程序中有不同的进程访问相同的 .sdf 文件,如果包含这些 dll 并安装了紧凑型文件,这将导致访问冲突错误......

有任何想法吗?

4

2 回答 2

0

最好的方法是让 SQL Compact 成为安装过程的要求,如果未安装,请告诉用户他们需要安装它。您可以通过在项目的发布部分将其设置为先决条件来添加检查特性。您可以通过检查 SC 的默认安装路径来手动编写代码,但这不是最可靠的方式。

于 2009-10-21T05:41:15.240 回答
0

我认为注册表检查非常可靠。

命令

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。

于 2009-10-21T05:46:02.170 回答