用VS2005制造WEB安装程序
环境:windows2003 + vs2005+sqlserver2000
1、打开VS2005,打开工程或网站(这里的示例是一个已发布的网站系统).
2、从“解决方案资源管理器中”右键点击解决方案名称,选择“添加”――“新建项目”,从打开的“添加新项目”窗口,在“项目类型”栏选择“其他项目类型”――“安装部署”,在模板栏,选“web项目”,在下面的名称和地址栏输入名称和地址。
3、生成sql文件(只生成创建数据表的SQL语句)
打开SQLSER企业管理器,登录,选择数据库――选择要生成SQL语句的表,右键――所有任务――生成SQL脚本。在打开的窗口中点击“确定”,保存SQL脚本(注意:sql文件一定要用小写的英文名称命名,保存完成后把SQL文件另存为TXT文件,并把里面的所有的“GO”去掉。)
4、创建安装程序类库和安装程序类
从“解决方案资源管理器中”右键点击解决方案名称,选择“添加”――“新建项目”,从打开的“添加新项目”窗口,在“项目类型”栏选择“VISAL BASIC”,在模板栏,选“类库”,在下面的名称和地址栏输入名称和地址。点击“确定”。
5、从“解决方案资源管理器中”点击刚生成的类库,删除自动生成的class1.vb类,右键点击类库名称――添加――新建项,选择“安装程序类”,输入名称,点击“添加”按钮。
6、打开刚生成的安装程序类,在dbtest.vb中,添加如下代码
Imports System.ComponentModel
Imports System.Configuration.Install
Imports System.IO
Imports System.Reflection
Public Class dbtest
'声明私有变量
Private sqlConnection1 As SqlClient.SqlConnection
Private ServerName As String
Private AdminName As String
Private AdminPwd As String
Public Sub New()
MyBase.New()
'组件设计器需要此调用。
InitializeComponent()
'调用 InitializeComponent 后添加初始化代码
End Sub
Private Function GetSql(ByVal Name As String) As String
Try
' Gets the current assembly.
Dim Asm As [Assembly] = [Assembly].GetExecutingAssembly()
' Resources are named using a fully qualified name.
Dim strm As Stream = Asm.GetManifestResourceStream( _
Asm.GetName().Name + "." + Name)
' Reads the contents of the embedded file.
Dim reader As StreamReader = New StreamReader(strm)
Return reader.ReadToEnd()
Catch ex As Exception
MsgBox("读取SQL文件出错: " & ex.Message)
Throw ex
End Try
End Function
Private Sub ExecuteSql(ByVal DatabaseName As String, ByVal Sql As String)
Dim Command As New SqlClient.SqlCommand(Sql, sqlConnection1)
Command.Connection.Open()
Command.Connection.ChangeDatabase(DatabaseName)
Try
Command.ExecuteNonQuery()
Finally
' Finally, blocks are a great way to ensure that the connection
' is always closed.
Command.Connection.Close()
End Try
End Sub
Protected Sub AddDBTable()
Try
' 生成数据库
ExecuteSql("master", "CREATE DATABASE water")
' 根据SQL语句生成表
ExecuteSql("water", GetSql("watertable.txt"))
Catch ex As Exception
' Reports any errors and abort.
MsgBox("生成数据库错误: " & ex.Message)
Throw ex
End Try
End Sub
Private Sub WriteWebConfig()
'修改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 = "AdoConnBySql" Then
'写入连接字符串
Node.Attributes.GetNamedItem("value").Value = String.Format("Provider=SQLOLEDB;Data Source={0};Password={2};User ID={1};Initial Catalog=water", Me.Context.Parameters.Item("server"), 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
''' <summary>
''' 安装程序入口
''' </summary>
''' <param name="stateSaver"></param>
''' <remarks></remarks>
Public Overrides Sub Install(ByVal stateSaver As _
System.Collections.IDictionary)
MyBase.Install(stateSaver)
'读取用户连接数据库信息
ServerName = Trim(Me.Context.Parameters.Item("server"))
AdminName = Trim(Me.Context.Parameters.Item("user"))
AdminPwd = Trim(Me.Context.Parameters.Item("pwd"))
'根据用户界面输入的信息建立数据库联接
sqlConnection1 = New SqlClient.SqlConnection
sqlConnection1.ConnectionString = "User ID=" + AdminName + ";Data Source = " + ServerName + ";Password=" + AdminPwd + ";Initial Catalog=master"
'sqlConnection1.Open()
'添加数据库中的表
AddDBTable()
'修改web.config文件中的数据库连接串
WriteWebConfig()
End Sub
End Class
6、添加SQL脚本文件到类库中。
右键点击类库名称――添加――现有项,选择watertable.txt文件。点击“确定”。
右键选择刚刚添加的watertable.txt文件,选“属性”,把“生成操作”项内容修改为“嵌入的资源”。
7、生成类库的DLL文件。
8、右键安装项目名称――“视图”――“文件系统”,在打开的“文件系统窗口”,右键“WEB应用程序文件夹”――“添加”――项目输出,
从“项目”下拉列表框中,选择类库为“主输出”,
重复上步操作,选择网站为“内容文件”
9、添加安装时用户要输入的数据库服务器名称、用户名、密码的用户界面。
右键安装项目名称――视图――用户界面,在打开的安装界面中,右键“启动”,选择“添加对话框”,在弹出的窗口中,选择“文本框A”。
右键文本框A,选择“上移”,重复执行,直到在“安装地址”上。
右键“文本框A”――属性,进行如下修改。
Edit1lable1 数据库服务器:
Edit1property DBSERVERNAME
Edit1visible true
Edit2lable1 用户名:
Edit2property USERNAME
Edit2visible true
Edit3lable1 用户名:
Edit3property PASSWORD
Edit3visible true
Edit4visible false
10、添加自定义操作
在“解决方案资源管理器中”,右键安装项目名称――“视图”――“自定义操作”,在打开的自定义操作窗口,右键“安装”――“添加自定义操作”,在打开的“选择项目的项”,双击“WEB应用程序文件夹”――主输出来自clslib(活动)。
右键“主输出来自clslib(活动)”――“属性窗口”,修改属性
Customactiondata 为
/server=[DBSERVERNAME] /user=[USERNAME] /pwd=[PASSWORD] /targetdir="[TARGETDIR]/"
注意:每个变量之间一定要有一个空格做间隔,如果想得到安装文件在安装机器中的路径,一定要添加 targetdir 变量。
11、添加系统必备
右键安装项目名称――属性――选择系统必备
在打开的系统必备窗口,选择 “.net framework 2.0”――选择“从与我的应用程序相同路径下载系统必备”,点击“确定”
12、生成安装项目。
从菜单“生成”――“生成websetup”,生成安装项目。
13、安装项目界面
从“解决方案资源管理器”――安装项目,右键安装项目名称――安装。
生成的数据库
生成的网站
修改后的web.config
写在后面的话:
做完程序后,发现用SQLSER的恢复数据库方法比用SQL文件要好的多,也方便的多,就做了一个过程,代码如下:
Private sub RestoreDB()
Dim strdir as string
Dim strSql as string
‘得到安装程序路径
Strdir=me.context.parameters.item(“targetdir”)
Strsql="RESTORE DATABASE water FROM DISK = '" + strdir + "data.bak' " +
" WITH MOVE 'water_data' TO '" + "c:/water.mdf', " +
" MOVE 'water_log' TO '" + "c:/water_log.ldf' "
Executesql(“master”,strsql)
End sub
注意:data.bak是sqlserver备份数据库名,也可以没有后缀,如果没有后缀,在程序中也不要有,还有备份文件要和发布的网站文件放在一起,water_data、water_log是逻辑数据名,在sqlserver数据库中的备份恢复中都能查看到的,TO 后面是把*.mdf和*.ldf文件复制到一个路径下,直接写死就可以了。
分享到:
相关推荐
杀手级功能:应用程序通过BLE建立规范中未提供的串行通信,但是如果您想使用负担得起的蓝牙模块制造自己的BLE IoT设备,则需要此功能。 该应用利用BLE服务( 0xFFE0 )和特性( 0xFFE1 )在低成本BLE模块中可用,...
web-maker, 一个快速的&离线前端 网络制造商 是你网站实验的一个离线游乐场。 类似CodePen或者 JSFiddle,但是更快,更离线,因为它完全在你的系统上... 安装 Chrome 扩展插件或者 到Web应用程序 特性支持 Preproces
中国社会保障局 CCSS [组件 CSS] 是一种架构,可简化大型 ... 作为开发人员,在为复杂的 Web 应用程序设置 CSS 架构时使用它。 内容 CCSS 的要素 以下是完全使用或以修改方式使用的主要元素,以实现 CCSS 架构的最佳配
安装将文件复制到您的Web服务器确保lysis-java.jar位于您的Web服务器目录中将htaccess.txt重命名为.htaccess 庆祝学分该项目依托您可以查看通过和平制造者在Java裂解端口又随意查看原始一个由BAILOPAN写。
OpenDolphin包装制造商蚂蚁脚本创建OpenDolphin WebStart客户端和Mac磁盘映像安装程序。
使用Java开发的毕业设计系统项目源码,可用于毕业设计,课程设计,参考学习等
连结程序使用该信息在.EXE文件中建立一个表格,在加载程序时,Windows使用它将呼叫转换为Windows函数。 WINDOWS程序设计选项 为说明Windows程序设计的多种技术,本书提供了许多范例程序。这些程序使用C语言撰写并...
deviceMaker 简单的Web应用程序通过提供设备的MAC地址来返回制造商。
所提出的方法被视为一种有前途的知识管理方法,该方法通过将支持UML的工业软件工程技术集成到最近的基于本体的知识工程过程中,促进了SW应用程序的分布式制造中计算机支持的协作工作(CSCW)的实现。 通过用于制造...
第一部分中将首先介绍Android,内容涉及如何安装Android模拟器,如何使用IDE(Intergrated Development Environment,集成开发环境)编写第一个程序。然后,我们将介绍一些基本的概念,比如Android中的生命周期。...
我225 基于Streamlit的Web应用程序,可为制造中使用的铣削和车削过程计算切削参数。
###Web 应用程序设置 10 步: git clone 项目到你的 ubuntu 主目录 执行 bash 脚本setup.sh MySQL 配置:创建haggard用户和haggard数据库(使用phpmyadmin扩展轻松完成) 导入数据库架构./doc/SQL/haggard.sql到...
基于JAVA开发的物流仓库管理系统(支持自营和第三方),包含PDA端和Web端。 WMS在经过多家公司上线运转后,为了降低物流仓储企业的信息化本钱,针对有特殊信息化需求的企业,提供高性价比的施行效劳。 开发言语:...
ERPNext是基于框架构建的,该框架是使用Python和JavaScript编写的全栈Web应用程序框架。完整安装简单方法:我们的基准测试安装脚本将安装所有依赖项(例如MariaDB)。 有关更多详细信息,请参见 。 将为ERPNext...
不要相信web网站是安全的,也不要相信我这个文章,本来就是假的.CSDN就是制造垃圾信息的舞台.强烈鄙视其积分方案。
节奏制造者 使用Vanilla JS的简单Beatmaker Web应用程序
电动自行车闪电Web组件示例应用程序 电动自行车是一个示例应用程序,演示了如何使用Lightning Web Components构建应用程序以及如何与Salesforce Experiences集成。 电动自行车是虚拟的电动自行车制造商。 该应用程序...
用于电子制造的高度定制的统计过程控制Web应用程序。 跟踪构建窗口小部件的所有方面。 物品,产品,过程,时间,不合格品,短缺等。 Commutron Industries项目。 使用ReactJS,MeteorJS和MongoDB构建。 高度...
装配过程数据实时监控Web应用程序团队成员金在宇(Jaewoo Kim) 正东桥 Jinikcheol 张九彬项目纲要在制造公司中,始终重要的问题是确保成本竞争力。 为此,必须具有能够实时监视过程状态和生产结果的功能。 因此,在...
系统WEB合并 platform-gen 代码生成 platform-schedule 定时任务 platform-shiro 登陆权限相关 platform-shop 商城后台管理 wx-mall 微信小程序商城 实现功能 一:会员管理 会员管理 ...