2012-08-03 90 views
1

我用c#編寫了一個程序,我使用數據庫作爲本地數據庫和實體框架。我完成了程序並創建了一個安裝程序項目來部署它。我將數據庫(.sdf)文件包含在安裝程序項目中的Model文件夾中,並將所有dll文件從C:\ Program Files \ Microsoft SQL Server Compact Edition \ v3.5包含到Application文件夾中。我的連接字符串與此類似config文件:我不能在另一臺電腦上運行我的應用程序

<configuration> 
    <connectionStrings> 
    <add name="ApplicationEntities" connectionString="metadata=res://*/Model.Model1.csdl|res://*/Model.Model1.ssdl|res://*/Model.Model1.msl;provider=System.Data.SqlServerCe.3.5;provider connection string=&quot;Data Source=|DataDirectory|\Model\ApplicationDatabase.sdf&quot;" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 
</configuration> 

當我安裝程序中的任何其他計算機上並運行程序我正在剛開一個例外是這樣的:

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box. 

************** Exception Text ************** 
System.ArgumentException: The specified store provider cannot be found in the configuration, or is not valid. ---> System.ArgumentException: Unable to find the requested .Net Framework Data Provider. It may not be installed. 
    at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName) 
    at System.Data.EntityClient.EntityConnection.GetFactory(String providerString) 
    --- End of inner exception stack trace --- 
    at System.Data.EntityClient.EntityConnection.GetFactory(String providerString) 
    at System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString) 
    at System.Data.EntityClient.EntityConnection..ctor(String connectionString) 
    at System.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString) 
    at System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName) 
    at Smart_Mail_Sender.Model.ApplicationEntities..ctor() 
    at MailSender.Settings..ctor() 
    at MailSender.FormMain.serverToolStripMenuItem_Click(Object sender, EventArgs e) 
    at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) 
    at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) 
    at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) 
    at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) 
    at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) 
    at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met) 
    at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) 
    at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) 
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 
    at System.Windows.Forms.Control.WndProc(Message& m) 
    at System.Windows.Forms.ScrollableControl.WndProc(Message& m) 
    at System.Windows.Forms.ToolStrip.WndProc(Message& m) 
    at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 


************** Loaded Assemblies ************** 
mscorlib 
    Assembly Version: 4.0.0.0 
    Win32 Version: 4.0.30319.269 (RTMGDR.030319-2600) 
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll 
---------------------------------------- 
Smart Mail Sender 
    Assembly Version: 1.0.0.0 
    Win32 Version: 1.0.0.0 
    CodeBase: file:///C:/Program%20Files%20(x86)/Default%20Company%20Name/Setup1/Smart%20Mail%20Sender.exe 
---------------------------------------- 
System.Windows.Forms 
    Assembly Version: 4.0.0.0 
    Win32 Version: 4.0.30319.278 built by: RTMGDR 
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll 
---------------------------------------- 
System.Drawing 
    Assembly Version: 4.0.0.0 
    Win32 Version: 4.0.30319.282 built by: RTMGDR 
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll 
---------------------------------------- 
System 
    Assembly Version: 4.0.0.0 
    Win32 Version: 4.0.30319.269 built by: RTMGDR 
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll 
---------------------------------------- 
System.Data.Entity 
    Assembly Version: 4.0.0.0 
    Win32 Version: 4.0.30319.1 built by: RTMRel 
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Data.Entity/v4.0_4.0.0.0__b77a5c561934e089/System.Data.Entity.dll 
---------------------------------------- 
System.Core 
    Assembly Version: 4.0.0.0 
    Win32 Version: 4.0.30319.233 built by: RTMGDR 
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll 
---------------------------------------- 
System.Data 
    Assembly Version: 4.0.0.0 
    Win32 Version: 4.0.30319.237 (RTMGDR.030319-2300) 
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll 
---------------------------------------- 
System.Configuration 
    Assembly Version: 4.0.0.0 
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100) 
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll 
---------------------------------------- 
System.Xml 
    Assembly Version: 4.0.0.0 
    Win32 Version: 4.0.30319.233 built by: RTMGDR 
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll 
---------------------------------------- 
System.Numerics 
    Assembly Version: 4.0.0.0 
    Win32 Version: 4.0.30319.1 built by: RTMRel 
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll 
---------------------------------------- 

************** JIT Debugging ************** 
To enable just-in-time (JIT) debugging, the .config file for this 
application or computer (machine.config) must have the 
jitDebugging value set in the system.windows.forms section. 
The application must also be compiled with debugging 
enabled. 

For example: 

<configuration> 
    <system.windows.forms jitDebugging="true" /> 
</configuration> 

When JIT debugging is enabled, any unhandled exception 
will be sent to the JIT debugger registered on the computer 
rather than be handled by this dialog box. 

我找遍了所有的互聯網,並不能找到任何解決方法。你可以幫我嗎?

回答

4

您必須在機器上安裝SQL Server Compact 3.5運行時。您可以將精簡版的安裝程序包含到您自己的安裝程序中。

你可以在這裏下載它,如果你沒有有它已經 http://www.microsoft.com/en-us/download/details.aspx?id=5783

+0

這是工作。感謝您,但現在我需要鏈接項目輸出和SQL Server Compact 3.5安裝程序在一起。你有這個問題的解決方案? – 2012-08-03 12:01:50

+0

我爲我的安裝項目使用NSIS。如果你使用VS安裝項目,這可能有助於http://stackoverflow.com/questions/8078150/setup-project-sql-compact-4-prerequisites – DanielB 2012-08-06 07:46:23

2

SQL CE 3.5的版本不正確的PC

還需要檢查系統是否安裝了上千萬一個32位或64位操作系統,因此安裝設置

1

驗證目標計算機是否安裝了SQL Server Compact 3.5並且已安裝模型文件:Model.Model1.csdl; Model.Model1.res; Model.Model1。 ssdl; Model.Model1.msl

相關問題