2012-05-10 72 views
4

我開發了一些需要安裝SQL Server CE 4.0的應用程序。如何檢測是否安裝了SQL Server CE 4.0

我做的所有工作的Windows 7 64位,所以我已經安裝了SQL Server CE 4.0的64位下。

我怎麼可以做一些檢查是否安裝有SQL Server的CE 4.0的32位/ 64位,當我啓動應用程序/或安裝程序?

哪一個是方法有什麼看法?

任何線索,文章和等?

謝謝!

P.S.我讀了這個鏈接How can InstallShield check if SQL Server 2005 (3.1) Compact Edition (CE) is installed但它沒有幫助。

+1

我會期望它只是一個參考正確的大會,並確保它包括在設置的問題。 – spender

+1

http://weblogs.asp.net/scottgu/archive/2011/01/11/vs-2010-sp1-and-sql-ce.aspx「你可以簡單地複製SQL CE二進制文件」 – spender

+0

@spender的問題是我已經參考了64位版本,但實際上應用程序應該檢查它是32位還是64位版本。 –

回答

4

就包括所有必需的文件與您的應用程序,它會在x86和x64運行 - 在這裏看到我的博客文章:http://erikej.blogspot.com/2011/02/using-sql-server-compact-40-with.html

您還可以使用下面的代碼來檢測,如果在運行時提供給您的應用程序,但不要求,如果玉執行以上:

 public bool IsV40Installed() 
    { 
     try 
     { 
      System.Reflection.Assembly.Load("System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"); 
     } 
     catch (System.IO.FileNotFoundException) 
     { 
      return false; 
     } 
     try 
     { 
      var factory = System.Data.Common.DbProviderFactories.GetFactory("System.Data.SqlServerCe.4.0"); 
     } 
     catch (System.Configuration.ConfigurationException) 
     { 
      return false; 
     } 
     catch (System.ArgumentException) 
     { 
      return false; 
     } 
     return true; 
    } 
相關問題