ASP.NET安装部署代码实现之添加文件简介:

创新互联建站服务项目包括翁牛特网站建设、翁牛特网站制作、翁牛特网页制作以及翁牛特网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,翁牛特网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到翁牛特省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
1. 将SQL Server生成的脚本文件db.sql添加到“Test Installer”项目
2. 将安装文件LisenceFile.rtf添加到“Test Installer”项目
3. 在用户界面编辑器中,选择许可协议,设置LisenceFile属性为LisenceFile.rtf文件
以下的ASP.NET安装部署代码实现是整个部署的最重要的一部分了
将代码添加到安装程序类中,dbcustomaction.vb类
- Imports System.ComponentModel
 - imports System.Configuration.Install
 - imports System.IO
 - imports System.Reflection
 - ﹤runinstaller(true)﹥ Public Class DBCustomActionClass DBCustomAction
 - inherits System.Configuration.Install.Installer
 - #region "组件设计器生成的代码 "
 - public Sub New()Sub New()
 - mybase.new()
 - '该调用是组件设计器所必需的
 - initializecomponent()
 - '在 InitializeComponent() 调用之后添加任何初始化
 - end Sub
 - ' Installer 重写 dispose 以清理组件列表。
 - protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
 - if disposing Then
 - if Not (components Is Nothing) Then
 - components.dispose()
 - end If
 - end If
 - mybase.dispose(disposing)
 - end Sub
 - private components As System.ComponentModel.IContainer
 - ﹤system.diagnostics.debuggerstepthrough()﹥
 - Private Sub InitializeComponent()Sub InitializeComponent()
 - end Sub
 - #end Region
 - '执行sql 语句
 - private Sub ExecuteSql()Sub ExecuteSql(ByVal conn As String,
 - ByVal DatabaseName As String, ByVal Sql As String)
 - dim mySqlConnection As New SqlClient.SqlConnection(conn)
 - dim Command As New SqlClient.SqlCommand(Sql, mySqlConnection)
 - command.connection.open()
 - command.connection.changedatabase(databasename)
 - try
 - command.executenonquery()
 - finally
 - 'close Connection
 - command.connection.close()
 - end Try
 - end Sub
 - public Overrides Sub Install()Sub Install(ByVal stateSaver
 - As System.Collections.IDictionary)
 - MyBase.Install(stateSaver)
 - ' ----------ASP.NET安装部署代码实现建立数据库------------
 - try
 - dim connStr As String = String.Format("data source={0};
 - user id={1};password={2};
 - persist security info=false;packet size=4096",
 - Me.Context.Parameters.Item("server"),
 - Me.Context.Parameters.Item("user"),
 - Me.Context.Parameters.Item("pwd"))
 - '根据输入的数据库名称建立数据库
 - executesql(connstr, "master",
 - "CREATE DATABASE " + Me.Context.Parameters.Item("dbname"))
 - 'ASP.NET安装部署代码实现之调用osql执行脚本
 - dim sqlProcess As New System.Diagnostics.Process
 - sqlprocess.startinfo.filename = "osql.exe "
 - sqlprocess.startinfo.arguments = String.Format(" -U {0} -P {1} -d {2} -i {3}db.sql",
 - Me.Context.Parameters.Item("user"), Me.Context.Parameters.Item("pwd"),
 - Me.Context.Parameters.Item("dbname"), Me.Context.Parameters.Item("targetdir"))
 - sqlprocess.startinfo.windowstyle = ProcessWindowStyle.Hidden
 - sqlprocess.start()
 - sqlprocess.waitforexit() '等待执行
 - sqlprocess.close()
 - 'ASP.NET安装部署代码实现之删除脚本文件
 - dim sqlFileInfo As New System.IO.FileInfo(String.Format("{0}db.sql",
 - Me.Context.Parameters.Item("targetdir")))
 - if sqlFileInfo.Exists Then
 - sqlfileinfo.delete()
 - end If
 - catch ex As Exception
 - throw ex
 - end Try
 - ' -ASP.NET安装部署代码实现之将连接字符串写入Web.config--
 - try
 - dim FileInfo As System.IO.FileInfo = New System.IO.
 - FileInfo(Me.Context.Parameters.Item("targetdir") & "\web.config")
 - if Not FileInfo.Exists Then
 - throw New InstallException("没有找到配置文件")
 - end If
 - '实例化xml文档
 - dim XmlDocument As New System.Xml.XmlDocument
 - xmldocument.load(fileinfo.fullname)
 - '查找到appsettings中的节点
 - dim Node As System.Xml.XmlNode
 - dim FoundIt As Boolean = False
 - for Each Node In XmlDocument.Item("configuration").Item("appSettings")
 - if Node.Name = "add" Then
 - if Node.Attributes.GetNamedItem("key").Value = "connString" Then
 - 'ASP.NET安装部署代码实现之写入连接字符串
 - node.attributes.getnameditem("value").value = String.
 - Format("Persist Security Info=False;Data Source={0};
 - Initial Catalog={1};User ID={2};Password={3};
 - Packet Size=4096;Pooling=true;Max Pool Size=100;
 - Min Pool Size=1", _
 - me.context.parameters.item("server"),
 - Me.Context.Parameters.Item("dbname"),
 - Me.Context.Parameters.Item("user"),
 - Me.Context.Parameters.Item("pwd"))
 - foundit = True
 - end If
 - end If
 - next Node
 - if Not FoundIt Then
 - throw New InstallException("web.Config 文件没有包含connString连接字符串设置")
 - end If
 - xmldocument.save(fileinfo.fullname)
 - catch ex As Exception
 - throw ex
 - end Try
 - end Sub
 - end Class
 
有点难度的就是那个Process类,它调用了osql.exe程序,来执行sql语句osql -U,-P,,-d,-i。
web.config的修改代码是利用xml的语法实现。不是很难理解。
***编译生成!如图:
安装界面:如图
ASP.NET安装部署代码实现的基本情况就向你介绍到这里,希望对你学习ASP.NET安装部署有所帮助。
                新闻标题:ASP.NET安装部署代码实现
                
                本文来源:http://www.csdahua.cn/qtweb/news6/258656.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网