VS2010(英文版)打包部署自动安装数据库
上周第一次打包自己的系统时,在别人电脑上使用不了,因为远程连接不了我的数据库,所以要想在别人的电脑上运行我的系统则需要手动附加我的数据库。 下面我来为大家介绍一种方法:在打包程序时将数据库一起打包,这样安装程序的时候会自动附加数据库(前提是
上周第一次打包自己的系统时,在别人电脑上使用不了,因为远程连接不了我的数据库,所以要想在别人的电脑上运行我的系统则需要手动附加我的数据库。
下面我来为大家介绍一种方法:在打包程序时将数据库一起打包,这样安装程序的时候会自动附加数据库(前提是该电脑上有SQL SERVER)。
一).创建部署项目
1. 打开VS.NET2011。
2.在“File”菜单上指向“New Project”。
3. 在“New Project”对话框中,选择“Installed Templates”窗格中的”Other Project Types”中的“Setup and Deployment”,然后选择“Visual Studio Installer”窗格中的“Setup Project”。在“Name”框中键入 MySetup。
4. 单击“OK”关闭对话框。
5. 项目被添加到解决方案资源管理器中,并且文件系统编辑器打开。
6. 在“Property”窗口中,选择 ProductName 属性,并键入 数据库打包安装。
二).将 主程序 项目的输出添加到部署项目中
1. 在“File System”中,选择“Application Folder”。右击指向“Add”,然后选择“File”。
2. 在“Add File”对话框中,选择你程序的dll及exe文件.
3. 单击“打开”关闭对话框.
三).创建安装程序类
1. 在“Solution Explorer”中的“Solution’MySetup’”上右键选择“Add”后选择“New Project”。
2. 在“New Project”对话框中,选择“Other Languages”窗格中的“Visual Basic“,然后选择“Class Library”。在“Name”框中键入 InstallDB。
3. 单击“OK”关闭对话框。
4. 从“InstallDB”类库下右键选择"Add”中的“New Item”。5. 在“New Item”对话框中选择“General”后选择“Installer Class”。在“Name”框中键入 InstallDB。
6. 单击“Add”关闭对话框。
7. “InstallDB”安装程序类详细代码附后。
四).创建自定义安装对话框
1. 在解决方案资源管理器中选择“MySetup”项目。右键然后在“View”菜单上选择“User Interface”。
2. 在用户界面编辑器中,选择“Install”下的“Start”节点选择“Add Dialog”。
3 在“Add Dialog”对话框中,选择“Textboxs (A)”对话框,然后单击“OK”关闭对话框。
4. 在“Textboxs (A)”右键菜单上,选择“Move up”。重复此步骤,直到“Textboxs (A)”对话框位于“Installation Folder”节点之上。
5 在“Textboxs (A)”的“Property”窗口中,选择 BannerText 属性并键入:安装数据库。
6. 选择 BodyText 属性并键入:安装程序将在目标机器上安装数据库。
7. 选择 Edit1Label 属性并键入:数据库名称:
8 . 选择 Edit1Property 属性并键入 DBNAME
9. 选择 Edit1Value 属性并键入: budgetSysDB
10. 选择 Edit2Label 属性并键入:服务器名:
11. 选择 Edit2Property 属性并键入 SERVER
12. 选择 Edit2Value 属性并键入:(local)
13. 选择 Edit3Label 属性并键入:用户名:
13. 选择 Edit3Value 属性并键入:sa
15. 选择 Edit3Property 属性并键入 USER
16. 选择 Edit4Label 属性并键入:密码:
18. 选择 Edit4Property 属性并键入 PWD
19. 选择Edit2Visible 属性,设置为 false;选择Edit2Visible、Edit3Visible 和 Edit4Visible 属性,并将它们设置为 true
五).创建自定义操作
1. 在解决方案资源管理器中选择“MySetup”项目,右键在“View”菜单上选择“Custom Actions”。
2. 在自定义操作编辑器中选择“Install”节点。右键选择“Add Custom Action……”。
3. 在“Select Item in Project”对话框中,双击“Application Folder”。
4. 单击”Add output”按钮选择”Project”中的” InstallDB”,在下面框中选择”Primary Output”(此项一般为默认),然后单击“OK”关闭对话框。5. 在”Primary Output from InstallDB(Active)的属性窗口中,选择 CustomActionData属性并键入:/dbname=[DBNAME] /server=[SERVER] /user=[USER] /pwd=[PWD] /targetdir="[TARGETDIR]/"。
附:/targetdir="[TARGETDIR]/"是安装后的目标路径,为了在installDB类中获得安装后的路径,我们设置此参数。
六).添加数据库文件:
1. 在解决方案资源管理器中选择“MySetup”项目,右键在“Add”选择“file”。
2.把数据文件”BookManage_Data.MDF”” BookManage_Log.LDF”添加到”MySetup”。
七).”InstallDB”安装程序类代码(vb.net)
Imports System.ComponentModel
Imports System.Configuration.Install
Imports System.Collections.Generic
Imports System
Imports System.Data
Imports System.Data.SqlClientNamespace InstallDB
Partial Public Class InstallerDB
Inherits Installer'''
''' 必须的设计器变量
'''
'''2011-4-27 10:20 by dan
Private components As System.ComponentModel.IContainer = Nothing
'''
''' 构造函数
'''
'''2011-4-27 10:20 by dan
Public Sub New()MyBase.New()
'This call is required by the Component Designer.
InitializeComponent()
'Dim state As System.Collections.IDictionary = New Hashtable
'Add initialization code after the call to InitializeComponentEnd Sub
'''
''' 清理所有正在使用的资源
'''
'''2011-4-27 10:20 by dan
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not IsNothing(components) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub#Region "组件设计器生成的代码"
'''
''' 设计器支持所需的方法——不要使用代码编辑器修改此方法的内容
'''
'''
Private Sub InitializeComponent()
components = New System.ComponentModel.Container
End Sub
#End Region
#Region "数据库文件为mdf和ldf文件"
'''
''' 附加数据库的mdf文件和ldf文件
'''
''' sql语句
''' 数据名
''' mdf文件名
''' ldf文件名
'''2011-4-27 15:57 by 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 As String
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)
myConn.Open()
myCommand.ExecuteNonQuery()
myConn.Close()
End Sub'''
''' 重写安装代码
'''
'''
'''2011-5-7 18:46 by dan
Public Overrides Sub Install(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")
Dim path 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, path)
End Sub
#End Region
End ClassEnd Namespace
八).打包時加入卸载功能:
1.在打包項目中添加文件msiexec.exe(一般可在c:/windows/system32/下找到)
2.在File System中选择Application Folder,在msiexec.exe上按右鍵,选择”Create Shortcut to msiexec.exe”,重命名快捷方式为"卸载".
3.更改此快捷方式的Arguments 为"/x {產品id}",产品id的值为打包項目的ProductCode属性值.
C#版:http://www.cnblogs.com/neozhu/archive/2007/02/24/654985.html

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Go语言是一种高效、简洁且易于学习的编程语言,因其在并发编程和网络编程方面的优势而备受开发者青睐。在实际开发中,数据库操作是不可或缺的一部分,本文将介绍如何使用Go语言实现数据库的增删改查操作。在Go语言中,我们通常使用第三方库来操作数据库,比如常用的sql包、gorm等。这里以sql包为例介绍如何实现数据库的增删改查操作。假设我们使用的是MySQL数据库。

一、前言在过去的几年里,YOLOs由于其在计算成本和检测性能之间的有效平衡,已成为实时目标检测领域的主导范式。研究人员探索了YOLO的架构设计、优化目标、数据扩充策略等,取得了显着进展。同时,依赖非极大值抑制(NMS)进行后处理阻碍了YOLO的端到端部署,并对推理延迟产生不利影响。在YOLOs中,各种组件的设计缺乏全面彻底的检查,导致显着的计算冗余,限制了模型的能力。它提供了次优的效率,以及相对大的性能改进潜力。在这项工作中,目标是从后处理和模型架构两个方面进一步提高YOLO的性能效率边界。为此

PHP程序必备:安装这些才能顺利运行!PHP是一种流行的服务器端脚本语言,广泛用于开发Web应用程序。要成功运行PHP程序,首先需要在服务器上安装一些必备的软件和工具。在本文中,我们将介绍必须安装的软件和工具,并附上具体的代码示例,帮助您顺利运行PHP程序。一、PHP解释器PHP程序的核心是PHP解释器,负责解析和执行PHP代码。要安装PHP解释器,可以按照

Hibernate多态映射可映射继承类到数据库,提供以下映射类型:joined-subclass:为子类创建单独表,包含父类所有列。table-per-class:为子类创建单独表,仅包含子类特有列。union-subclass:类似joined-subclass,但父类表联合所有子类列。

苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步

PHPFFmpeg扩展安装指南:简单易懂的教程在网站开发的过程中,有时候我们需要处理各种多媒体文件,比如音频、视频等。而FFmpeg是一个功能强大的多媒体处理工具,它可以处理音频、视频等多种格式,并且支持各种转码、剪切等操作。PHPFFmpeg扩展则是在PHP中调用FFmpeg功能的扩展库,使用它可以很方便地处理多媒体文件。下面我们将详细介绍PHPF

电脑上如何下载360安全浏览器?是一款安全性非常高的网络浏览器软件,这款浏览器功能十分丰富,操作起来非常简单,并且使用360安全浏览器浏览网页可以很好地保护用户隐私安全,不少人喜欢使用这款浏览器办公,不过很多人都还不知道如何在电脑上下载安装360安全浏览器。本篇文章就给大家及详细介绍360安全浏览器电脑版下安装流程一览,希望能够帮助大家解决问题。360安全浏览器电脑版下安装流程一览1、电脑主页面,找到“360软件管家”进入(如图所示)。2、打开360软件管家,找到搜索框(如图所示)。3、点击搜索

如何在PHP中使用MySQLi建立数据库连接:包含MySQLi扩展(require_once)创建连接函数(functionconnect_to_db)调用连接函数($conn=connect_to_db())执行查询($result=$conn->query())关闭连接($conn->close())
