在VS2010中打开项目时,弹出窗口出现如上所示的提示信息“请确保已安装 Microsoft SQL Server Compact 3.5 并且没有其他应用程序正在访问该文件。 ” 可以看出,您的计算机上可能没有安装Microsoft SQL Server Compact 3.5(或者可能没有正确安装)。我解决问题的步骤如下: (1)进入微软官网,在搜索栏中输入SQL server Compact。网站链接:https://www.hack95.com (2)搜索到结果后,点击需要的3.5版本(图中红框)。点击进去后,不要急于点击下载。首先阅读下面所有的蓝色单词。一探究竟。特别是安装说明!阅读安装说明是整个过程中最关键的一步! (3)下载完成后,在网页上查找下载历史记录(Google Chrome 中为 Ctrl+J 组合键)。点击“在文件夹中显示” (4) 进入文件夹后,会自动找到对应的文件“SSCERuntime-CHS.exe”。 (4)双击后,会弹出另一个窗口:此时忽略它,单击“是”。 (5) 然后出现另一个窗口 弹出窗口: (6) 单击“浏览”并选择路径: (7) 单击确定。然后转到放置该文件的文件夹。我的是 I 驱动器中的“VS2010_SQL_Server_Compact”。里面有三个文件: (8) 如果双击“SSCERuntime_x64-CHS.msi”文件,会弹出窗口:提示先安装x86版本。 (9) 然后单击“确定”,然后双击“SSCERuntime_x86-CHS.msi”。然后按照弹出的提示信息(我同意,下一步是什么等)按照分步操作即可正常完成安装。 (10)正常安装x86版本后,双击“SSCERuntime_x64-CHS.msi”。按照提示信息逐步安装。安装完成后,通过VS2010打开现有项目时就正常了。

这几天因为安装两个软件郁闷了好久。我终于明白了顺序。先安装Sql2008,再安装vs2010。希望能给安装这个的朋友提供参考。不要在这里浪费时间!

上周第一次打包我的系统时,我无法在别人的电脑上使用它,因为我的数据库无法远程连接,所以如果我想在别人的电脑上运行我的系统,我需要手动附加我的数据库。

给大家介绍一个方法:在打包程序时将数据库一起打包,这样安装程序时就会自动附加数据库(前提是电脑上有SQL SERVER)。

1)。创建部署项目 1. 打开www.hack95.com2011。 2. 在“文件”菜单上,指向“新建项目”。 3. 在“新建项目”对话框中,在“已安装的模板”窗格中的“其他项目类型”中选择“安装和部署”,然后在“Visual Studio 安装程序”窗格中选择“安装项目”。在名称框中键入 MySetup。 ? 4. 单击“确定”关闭对话框。 5. 该项目将添加到解决方案资源管理器中,并且文件系统编辑器将打开。 6. 在“属性”窗口中,选择“ProductName”属性并键入数据库包安装。

2)。将主程序项目的输出添加到部署项目中

1。在“文件系统”中,选择“应用程序文件夹”。单击鼠标右键,指向“添加”,然后选择“文件”。

2。在“添加文件”对话框中,选择您程序的dll和exe文件。

3。单击“打开”关闭对话框。

3)。创建安装程序类 1. 在“解决方案资源管理器”中右键单击“解决方案‘MySetup’”,选择“添加”,然后选择“新建项目”。 2. 在“新建项目”对话框中,在“其他语言”窗格中选择“Visual Basic”,然后选择“类库”。在名称框中键入 InstallDB。 ? 3. 单击“确定”关闭对话框。 4、在“InstallDB”类库下右键单击,在“添加”中选择“新建项”。

5。在“New Item”对话框中选择“General”,然后选择“Installer Class”。在名称框中键入 InstallDB。 ? 6. 单击“添加”关闭对话框。 7. 附上“InstallDB”安装程序类的详细代码。 ? ?

4)。创建自定义安装对话框 1. 在解决方案资源管理器中选择“MySetup”项目。右键单击并在“视图”菜单上选择“用户界面”。 2.???在用户界面编辑器中,选择“安装”下的“开始”节点,然后选择“添加对话框”。 3???在“添加对话框”对话框中,选择“文本框(A)”对话框,然后单击“确定”关闭该对话框。 4.???在“文本框(A)”的右键菜单中,选择“上移”。重复此步骤,直到“文本框 (A)”对话框位于“安装文件夹”节点上方。 5???在文本框 (A) 的属性窗口中,选择 BannerText 属性并键入:安装数据库。 6. 选择 BodyText 属性并键入: 安装程序将在目标计算机上安装数据库。 7. 选择 Edit1Label 属性并输入: 数据库名称: 8. 选择 Edit1Property 属性并输入 DBNAME 9. 选择 Edit1Value 属性并输入:budgetSysDB 10. 选择 Edit2Label 属性并输入: 服务器名称: 11. 选择 Edit2Property 属性并输入:键入 SERVER 12. 选择 Edit2Value 属性并键入:(local) 13. 选择 Edit3Label 属性并键入: username: 13. 选择 Edit3Value 属性并键入:sa 15. 选择 Edit3Property 属性并键入 USER 16. 选择 Edit4Label 属性并键入:Password: 18. 选择 Edit4Property 属性并键入 PWD 19. 选择 Edit2Visible 属性并将其设置为 false;选择 Edit2Visible、Edit3Visible 和 Edit4Visible 属性并将它们设置为 true?

5)。创建自定义操作 1. 在解决方案资源管理器中选择“MySetup”项目,右键单击并在“视图”菜单上选择“自定义操作”。 2. 在自定义操作编辑器中选择“安装”节点。右键单击并选择“添加自定义操作...”。 3. 在“选择项目中的项目”对话框中,双击“应用程序文件夹”。 4、单击“添加输出”按钮,在“项目”中选择“InstallDB”,在下面的框中选择“主输出”(此项一般为默认值),然后单击“确定”关闭对话框。

5。在“InstallDB(Active) 的主输出”的属性窗口中,选择 CustomActionData 属性并键入: /dbname=[DBNAME] /server=[SERVER] /user=[USER] /pwd=[PWD] / targetdir="[ TARGETDIR]/"。附:/targetdir="[TARGETDIR]/"是安装后的目标路径。为了在installDB类中获取安装后的路径,我们设置了这个参数。??

6)。添加数据库文件: 1. 在解决方案资源管理器中选择“MySetup”项目,右键单击“添加”并选择“文件”。 2. 将数据文件“BookManage_Data.MDF”和“BookManage_Log.LDF”添加到“MySetup”。 ?

7)."InstallDB"安装程序类代码(www.hack95.com)

导入 System.ComponentModel 导入 System.Configuration.Install 导入 System.Collections.Generic 导入 系统导入 www.hack95.com 导入 System.Data.SqlClient

命名空间InstallDB 部分公共类InstallerDB ???继承安装程序

??? '''

??? ''' 必须的设计器件??? '''??? ''' 2011-4-27 10:20 作者 dan ???私有组件作为 System.ComponentModel.IContainer = Nothing

??? '''

??? '''构造函数??? '''??? ''' 2011-4-27 10:20 作者 dan ???公共子新()

?????? www.hack95.com() ?????? '组件设计器需要此调用。 ??????初始化组件() ?????? '暗淡状态 As System.Collections.IDictionary = New Hashtable ??????? '调用InitializeComponent后添加初始化代码

???结束子

??? '''

??? '''清理所有正在使用的资源??? '''??? ''' 2011-4-27 10:20 作者 dan ???受保护的覆盖子处置(ByVal 处置为布尔值)?????????如果处置然后?????????如果不是IsNothing(组件)那么??? ??????????组件.Dispose() ????????????万一 ???????万一 ??????? MyBase.Dispose(处置)???结束子

#Region“组件设计器生成的代码”??? '''

??? '''设计器支持所需的方法——不要使用代码编辑器修改该方法的内容??? '''??? '''???私有子InitializeComponent() ??????组件=新的System.ComponentModel.Container???结束子#结束区域

#Region“数据库文件是mdf和ldf文件”??? '''

??? '''附加数据库mdf文件和ldf文件??? '''??? ' '' sql语句 ??? ''' 数据名称 ??? ''' mdf 文件名 ??? ''' ldf 文件名 ??? ''' 2011-4-27 15:57 作者 dan ??? Private Sub CreateDataBase(ByVal strSql As String, ByVal DataName As String, ByVal strMdf As String, ByVal strLdf As String, ByVal path As String) ??????? '附加数据库??????? Dim str 作为字符串 ?????? Dim myConn As SqlConnection = New SqlConnection(strSql) ???? ??? str = "EXEC sp_attach_db @dbname='" & DataName & "',@filename1='" & strMdf & "',@filename2='" & strLdf & "'"

?????? Dim myCommand As SqlCommand = New SqlCommand(str, myConn)

?????? www.hack95.com() ?????? myCommand.ExecuteNonQuery() ?????? myConn.Close() ???结束子

??? '''

??? '''重写安装代码??? '''??? '''??? ''' 2011-5-7 18:46 作者 dan ???公共覆盖子安装(ByVal stateSaver As System.Collections.IDictionary)

?????? MyBase.Install(stateSaver)

?????? Dim server As String = Me.Context.Parameters("server") ?????? Dim uid As String = Me.Context.Parameters("user") ??? ???? Dim pwd As String = Me.Context.Parameters("pwd") ???????昏暗路径 As String = Me.Context.Parameters("targetdir") ??????? '连接sql?????? Dim strSql As String = "server=" & server & ";uid=" & uid & ";pwd=" & pwd & ";database=master"

?????? Dim DataName As String = "BookManage" ?????? Dim strMdf As String = path & "/BookManage_Data.mdf" ??????? Dim strLdf As String = path & "/BookManage_Log.ldf"

?????? Me.CreateDataBase(strSql, DataName, strMdf, strLdf, 路径) ???结束子#结束区域结束类

结束命名空间?

8)。打包时添加卸载功能:

?? 1、在打包的工程中添加msiexec.exe文件(一般在c:/windows/system32/下)

2。在文件系统中选择应用程序文件夹,右键单击msiexec.exe,选择“创建msiexec.exe的快捷方式”,并将快捷方式重命名为“卸载”。??

3。将该快捷方式的Arguments修改为“/x {product id}”,product id的值为打包项目的ProductCode属性值。?

C#版本:http://www.hack95.com/neozhu/archive/2007/02/24/654985.html