VS2005 Web引用程序打包并安装数据库
- 格式:docx
- 大小:479.03 KB
- 文档页数:11
vs2005 打包,并自动安装SQL数据库.创建部署项目1. 在“文件”菜单上指向“添加项目”,然后选择“新建项目”。
2. 在“添加新项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“安装项目”。
在“名称”框中键入setup1。
3. 单击“确定”关闭对话框。
4. 项目被添加到解决方案资源管理器中,并且文件系统编辑器打开。
5. 在“属性”窗口中,选择ProductName 属性,并键入信息管理系统。
二).将主程序项目的输出添加到部署项目中1. 在“文件系统编辑器”中,选择“应用程序文件夹”。
在“操作”菜单上,指向“添加”,然后选择“项目输出”。
2. 在“添加项目输出组”对话框中,选择“项目”下拉列表中的“你的程序”。
3. 单击“确定”关闭对话框。
4. 从列表中选择“主输出”和“内容文件”组,然后单击“确定”。
三).创建安装程序类1. 在“文件”菜单上指向“新建”,然后选择“项目”。
2. 在“新建项目”对话框中,选择“项目类型”窗格中的“Visual Basic 项目”,然后选择“模板”窗格中的“类库”。
在“名称”框中键入installDB。
3. 单击“打开”关闭对话框。
4. 从“项目”菜单中选择“添加新项”。
5. 在“添加新项”对话框中选择“安装程序类”。
在“名称”框中键入installDB。
6. 单击“确定”关闭对话框。
7. 详细代码附后。
四).创建自定义安装对话框1. 在解决方案资源管理器中选择“setup1”项目。
在“视图”菜单上指向“编辑器”,然后选择“用户界面”。
2. 在用户界面编辑器中,选择“安装”下的“启动”节点。
在“操作”菜单上,选择“添加对话框”。
3. 在“添加对话框”对话框中,选择“许可协议”对话框,然后单击“确定”关闭对话框。
4. 在“添加对话框”对话框中,选择“文本框(A)”对话框,然后单击“确定”关闭对话框。
5. 在“操作”菜单上,选择“上移”。
vs打包程序数据库图解VS打包数据库图解1.首先在需要部署的项目的解决方案资源管理器中新建一个安装项目2.在安装项目的文件视图中,右键【应用程序文件夹】->【添加】->【项目输出】选择你的项目中的启动项目,下面的列表中,默认就是主输出,确定。
3.此时在文件系统的中间栏目,会自动列出编译所需的文件。
一个简单项目打包差不多,还有快捷方式什么的,就不说了。
开始重点了。
创建安装程序类4.在解决方案资源管理器中,新建一个类库项目【InstallDB】,删除Class1.cs,新建一个安装程序类[InstallDB.cs],等下将在这个类中编写附加数据库代码。
创建自定义安装对话框5.在刚新建的安装项目上右键,【视图】->【用户界面】:在用户界面中,右键【启动】-【添加对话框】-选择【文本框(A)】-确定。
6.然后右键这个文本框(A),将其上移到欢迎使用下面:右键选择【属性】,参考下图的信息填写:7.在刚新建的安装项目上右键,【视图】->【自定义操作】:8.右键【自定义操作界面】的【安装】节点,【添加自定义操作】,弹出的对话框。
9.在查找范围里选择应用程序文件夹,再点击右侧的【添加输出(O)…】,选择刚新建的安装程序类项目,默认还是主输出,确定。
此时:10.右键这个【主输出来自InstallDB(活动)】,进入属性界面,在【CustomActionData】属性里输入下面的内容:/dbname=[DBNAME] /server=[SERVER] /user=[USER] /pwd=[PWD]/targetdir="[TARGETDIR]\"说明:其中前四个方括号中的大写字母,为上面第6步图中输入的四个EditProPerty属性,需要对应好。
最后一个targetdir的值的意思是安装后文件的目录路径。
特别提醒:前三个"/XXX=[XXX]"后面,都有一个空格的,小xin 曾因此烦恼甚久,网上的某些教程实在是。
对于的新手来说,整个数据库连接不太容易,根据连接过程中的问题总结如下。
1.开启SQL2005远程连接功能,开启办法如下:配置工具->SQL Server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine节点,先择“远程连接”,接下建议选择“同时使用TCP/IP和named pipes”,确定后重启数据库服务就可以了。
2.登陆设置改为:SQL Server 和 Windows 身份验证模式,具体设置如下:SQL Server Management Studio管理器->Windows 身份验证连接服务器->对象资源管理器中选择你的数据服务器->右键->属性->安全性->SQL Server 和 Windows 身份验证模式选中。
3.设置一个SQL Server方式的用户名和密码:具体设置如下:(1)SQL Server Management Studio管理器->Windows 身份验证连接服务器->对象资源管理器中选择你的数据服务器->展开服务器上的“安全性”->登陆名->在sa帐号上点右键->“选择页”选择常规->更改sa登陆帐号的密码。
这样就设置了一个用户名为sa,密码为:sa123456的用户。
(2)“选择页”选择状态->登陆修改为启用。
4.数据库连接字符串:数据库连接字符串有好多种:那种正确,这跟数据库版本有关系,如果是SQL Server 2005 Express版本,则必须要有“\SQLEXPRESS”。
而且如果这个字符串是定义为一个变量的时候,VS2005还会在“\”的下面加个红色的波浪线提示你“\S是无法识别的转义序列”,因此如果字符串是定义为一个变量的时候应该写成Server=.\\SQLEXPRESS。
5.注册SQL Server数据库:在路径“C:\Windows\\Framework\v2.0.50727”下运行“ASPNET_REGSQL”指令,就会出现 SQL Server Setup Wizard向导,连续按下两个下一步后就会出现SQL Server注册界面,填入你要注册的数据库参数就注册好了。
vs2005中如何发布网站及打包web项目生成安装文件环境:VS2005如果想要将完成的网站部署到服务器中,可以使用Microsoft Visual Web Developer Web 开发工具提供的“发布网站”实用工具。
“发布网站”实用工具对网站中的页和代码进行预编译,然后将编译器输出写入指定的文件夹。
然后可以将输出复制到目标Web 服务器,并从目标Web 服务器中运行应用程序。
1.先决条件:需要:Visual Web Developer。
Visual Web Developer 速成版不支持“发布网站”实用工具。
能访问Microsoft Internet 信息服务(IIS),以便可以测试发布网站的结果。
假定您自己的计算机上已经正在运行IIS。
或者可以使用IIS 的任何实例,但需要您拥有为其创建虚拟目录的权限。
2.如果您已经通过完成演练:在Visual Web Developer 中创建基本网页在Visual Web D eveloper 中创建了网站,则可以使用该网站,并转至下一部分。
否则,创建一个新的网站和网页.3.发布网站:现在已经有了网站,可以发布了。
可以将网站发布到本地计算机或网络上您能够访问的任何位置,如果要发布到网络,该网络必须使用Visual Web Developer 支持的连接协议。
复制网站有下面几种方式可选:使用UNC 共享复制到网络上另一台计算机中的一个共享文件夹。
使用FTP 复制到服务器。
使用HTTP 协议复制到支持Microsoft FrontPage 2002 服务器扩展的服务器。
在该演练的此部分中您将把网站发布到本地文件夹。
------>>>>>>>>>发布网站在“生成”菜单上单击“发布网站”。
出现“发布网站”对话框。
在“目标位置”框中输入“c:\CompiledSite”。
警告目标文件夹及其子文件夹中的所有数据都将被删除。
VSS的简单工作原理●Microsoft的VSS 将所有的项目源文件(包括各种文件类型)以特有的方式存入数据库。
开发组的成员不能对该数据库中的文件进行直接的修改,而是由该版本管理器将该项目的源程序或是子项目的源程序拷贝到各个成员自己的工作目录下进行调试和修改,然后将修改后的项目文件作Checkin提交给VSS,由它进行综合更新。
●用户可以根据需要随时快速有效地共享文件。
文件一旦被添加进VSS,它的每次改动都会被记录下来,用户可以恢复文件的早期版本,项目组的其他成员也可以看到有关文档的最新版本,并对它们进行修改,VSS也同样会将新的改动记录下来。
客户端基本操作●1、创建项目●2、添加文件/文件夹●3、签入/签出,撤销签出,查看文件●4、创建工作目录●5、修改/编辑文件●6、移动文件/文件夹●7、共享文件/文件夹●8、拆分文件●9、删除/恢复文件●10、给文件打标签(lable)●11、获取历史版本●12、获取最新版本●13 、修改密码●14、打开、关闭数据库客户端基本操作1●创建项目(File->Create Project)a.选中要创建新文件夹的项目(上级文件夹)b.在file菜单中选中creat project;c.写入要添加的文件夹的名称,同时也可以在comment栏中为新建的文件夹添加备注;d.点击OK。
客户端基本操作2●添加文件1.add命令添加文件a.选中你要添加文件的文件夹;b.在fil菜单中选中add files;c.在文件列表中选中要添加的文件;如果要添加多个文件,可以使用CTRL键或SHIFT键,同时选中多个文件;d.点击add,同时可以在comment栏为你添加的文件夹做一个简单备注;e.点击OK。
●添加文件夹a.选中你要添加文件夹的项目(上级文件夹);b.在file菜单中选中add files;c.在文件夹列表中选中要添加的文件夹;d.点击add,同时可以在comment栏为你添加的文件夹做一个简单备注;e.如果你要连同子文件夹一起添加,选择Recursive;f.点击OK。
步骤1.创建 setup project (ex. LDAPBrowserSetup)2.菜单栏 file-->add-->existing project 添加要打包的程序(在solution Explorer里能看到add的程序)3.在Application Folder 右键-->add-->project output (vs自动发现要打包的文件)-->点击 ok4.菜单栏 Build-->build LDAPBrowserSetup (在Release文件中生成setup程序)=========================================================================这个过程中还可加入 User's Desktop (桌面快捷方式) 和 User's Programs Menu (程序菜单的快捷方式)还可以添加快捷方式的图标=========================================================================加入卸载功能方法一:1.在打包項目中添加文件msiexec.exe(一般可在c:\windows\system32\下找到)2.在文件系統視圖中選擇應用程序文件夾,在msiexec.exe上按右鍵,選擇創建快捷方式,重命名快捷方式為"卸载".3.更改此快捷方式的Arguments 为"/x {產品id}",產品id的值為打包項目的ProductCode 屬性值.方法二:(推荐)1.先生成安装包,记下ProductCode,下面要用到2.用建立一个新的控制台程序uninst.exe文件Module uninstallSub Main()Dim myProcess As Process = New ProcessIf System.Environment.OSVersion.ToString.IndexOf("NT 5") ThenmyProcess.Start("msiexec","/X{2B65D4A9-C146-4808-AB4B-321FB0779559}") '改为自己的ProductCodeEnd IfmyProcess.Close()End SubEnd Module代码改写成C#如下:static void Main(string[] args){System.Diagnostics.Process.Start("msiexec","/X{460247B2-5FF0-4AF7-B4BC-B8BA3025231B}");}3.将控制台程序BIN目录的exe文件加入到打包程序文件中,在程序组创建uninst.exe的快捷方式。
VS2005 Web引用程序打包并安装数据库一个解决方案中可能会包含多个类库项目和一个网站,打包过程如下:1、在【解决方案资源管理器】中【右键-添加-新建项目】,左侧选择【其他类型项目】,右侧选择【安装项目】,如下图:2、点击【确定】后,右侧【文件系统】选项卡中选择【应用程序文件夹】-【添加】-【项目输出】,类库项目选择添加【主输出】,网站选择添加【内容文件】3、在网站的制作过程中可能用到一些其他的BLL组件,也需要添加进来,还是选择【应用程序文件夹】-【添加】-【程序集】,选择你网站BIN文件夹下的一些BLL4、因为要带数据库带包,我是采用打包程序利用系统存储过程附加MDF和LDF 文件的方法,所以【应用程序文件夹】中还需要【添加-文件】,将数据库的MDF 和LDF文件添加进来,如果安装的需要在控制面板的添加删除程序列表中有图标的话,也需要将ICO图标文件添加进来。
5、设置安装项目的常用属性:Author:作者Manufactuer:公司Title:安装程序的标题AddRemoveProgramsIco:设置为添加进来的ICO文件如果不带数据库安装的话,可以将安装项目直接生成就可以了,如果Debug设置为True,则生成的MSI文件在Debug文件夹中,如果为False,生成的MSI文件在Release文件夹中。
6、在【解决方案资源管理器】中,右键,添加【新建项目】-【Visual C#】-【类库】,建立数据库安装程序,类库建好后,将默认的Class1.cs文件删除,右键,添加【新建项】-【安装程序类】,下面主要是此类的代码。
7、安装程序类的代码:1using ponentModel;2using System.Configuration.Install;3using System.Collections; //以下引入4using System.Collections.Specialized;5using System.Data;6using System.Data.SqlClient;7using System.Reflection;8using System.Xml;910namespace DbClass11 {12 [RunInstaller(true)]13public partial class InstallDB : Installer14 {15///<summary>16///必需的设计器变量,均来自于安装程序的“自定义操作”视图中的设置17///</summary>18private string hostname;19private string username;20private string userpassword;21private string dbname;2223public InstallDB()24 {25 InitializeComponent();26 }2728private string CreateSqlStr()29 {30string sqlstr = "";31string datafile = Context.Parameters["installdir"] + @"FlowerShop.mdf";32string logfile = Context.Parameters["installdir"] + @"FlowerShop_log.ldf";33sqlstr = "EXEC sp_attach_db @dbname ='"+ Context.Parameters["dbname"] + "',@filename1='"+ datafile + "',@filename2='" + logfile + "'";34return sqlstr;35 }3637private void ExecuteSql(string DatabaseName, string SqlStr) 38 {39string SqlConnectionStr = @"server="+ hostname + ";uid=" + username + ";pwd=" + userpassword;40SqlConnection myConnection = newSqlConnection(SqlConnectionStr);41SqlCommand myCommand = new SqlCommand(SqlStr, myConnection);42 myCommand.Connection.Open();43 myCommand.Connection.ChangeDatabase(DatabaseName);44 myCommand.ExecuteNonQuery();45 myCommand.Connection.Close();46 }4748private void AddFlowerShopDataBase()49 {50 ExecuteSql("pubs", CreateSqlStr());51 }5253private void ModifyXML()54 {55string XMLdir = Context.Parameters["installdir"] + @"Web.config";56 XmlNodeReader reader = null;57 XmlTextWriter writer = null;58 XmlDocument doc = new XmlDocument();59 doc.Load(XMLdir);60 reader = new XmlNodeReader(doc);61writer = new XmlTextWriter(XMLdir, System.Text.Encoding.UTF8);6263try64 {65while (reader.Read())66 {67if(reader.NodeType == XmlNodeType.Element && == "connectionStrings")68 {69string strContent = reader.ReadInnerXml(); 70strContent = "<add name=\"strShop\" connectionString=\"server=" + hostname + ";database=" + dbname + ";uid=" + username + ";pwd=" + userpassword + "\" providerName=\"System.Data.SqlClient\"/>";71 XmlNode root = doc.DocumentElement;72XmlElement elem = doc.CreateElement("connectionStrings");73 elem.InnerXml = strContent;74root.ReplaceChild(elem, root.ChildNodes[1]);75 doc.Save(writer);76break;77 }78 }79 }80finally81 {82if (reader != null)83 reader.Close();84 }85 }8687public override void Install(IDictionary stateSaver)88 {89base.Install(stateSaver);90 hostname = Context.Parameters["hostname"];91 username = Context.Parameters["username"];92 userpassword = Context.Parameters["userpassword"];93 dbname = Context.Parameters["dbname"];94this.AddFlowerShopDataBase();95this.ModifyXML();96 }97 }98 }【注意】最后一个方法Install方法中Parameters中的键名都是与接下来要添加的自定义操作中的变量名要保持一致的,包括上面用到的installdir。
VS2005 vss安装配置使用2009年11月24日 星期二 14:39服务端安装1.安装Microsoft Visual SourceSafe2005到一台服务器,安装模式选择Full2.运行Microsoft Visual SourceSafe Administration3.建立一个新的数据库,记住数据库所在目录,并将之设置为共享,权限为完全控制4.添加新用户客户端安装5.在本地机器安装Microsoft Visual SourceSafe2005,安装模式可以选择Default6.在本地机器运行Microsoft Visual Source,在出现登录画面时选择服务器上共享目录中的数据库作为本地的数据库7.打开,选择打开要管理的项目文件6.在[文件]菜单中选择[源代码管理],再选择[将选定项目添加到源代码管理器]7.选择要建立的SourceSafe工程文件名称,确定。
在其他机器的打开受控代码1.和客户端一样安装SourceSafe1.打开2.在[文件]菜单中选择[源代码管理],再选择[从源代码管理器打开],选择工程文件新一篇: 配置Microsoft Visual SourceSafe 2005的Internet访问步骤:服务器端://建立vss 数据库1.安装vss 20052.打开vss控制台administration3.新建数据库,任意指定目录,不要求与工程在同一目录下4.将上一步指定的数据库目录设置为共享,并赋予写权限5.在控制台中点击file-》open sourcesafe database——》点击add,一直点下一步,在location中填入\\主机名\数据库名,一路到底6.打开上面建立的数据库,并添加相关用户//关联工程7.打开vs 2005,建立或打开所要控制的工程,右键单击解决方案或工程,选择”将解决方案添加到源代码管理“,登陆到vss数据库,将工程导入到vss中。
一个解决方案中可能会包含多个类库项目和一个网站,打包过程如下:1、在【解决方案资源管理器】中【右键-添加-新建项目】,左侧选择【其他类型项目】,右侧选择【安装项目】,如下图:2、点击【确定】后,右侧【文件系统】选项卡中选择【应用程序文件夹】-【添加】-【项目输出】,类库项目选择添加【主输出】,网站选择添加【内容文件】3、在网站的制作过程中可能用到一些其他的BLL组件,也需要添加进来,还是选择【应用程序文件夹】-【添加】-【程序集】,选择你网站BIN文件夹下的一些BLL4、因为要带数据库带包,我是采用打包程序利用系统存储过程附加MDF和LDF 文件的方法,所以【应用程序文件夹】中还需要【添加-文件】,将数据库的MDF 和LDF文件添加进来,如果安装的需要在控制面板的添加删除程序列表中有图标的话,也需要将ICO图标文件添加进来。
5、设置安装项目的常用属性:Author:作者Manufactuer:公司Title:安装程序的标题AddRemoveProgramsIco:设置为添加进来的ICO文件如果不带数据库安装的话,可以将安装项目直接生成就可以了,如果Debug设置为True,则生成的MSI文件在Debug文件夹中,如果为False,生成的MSI文件在Release文件夹中。
6、在【解决方案资源管理器】中,右键,添加【新建项目】-【Visual C#】-【类库】,建立数据库安装程序,类库建好后,将默认的Class1.cs文件删除,右键,添加【新建项】-【安装程序类】,下面主要是此类的代码。
7、安装程序类的代码:1using ponentModel;2using System.Configuration.Install;3using System.Collections; //以下引入4using System.Collections.Specialized;5using System.Data;6using System.Data.SqlClient;7using System.Reflection;8using System.Xml;910namespace DbClass11 {12 [RunInstaller(true)]13public partial class InstallDB : Installer14 {15///<summary>16///必需的设计器变量,均来自于安装程序的“自定义操作”视图中的设置17///</summary>18private string hostname;19private string username;20private string userpassword;21private string dbname;2223public InstallDB()24 {25 InitializeComponent();26 }2728private string CreateSqlStr()29 {30string sqlstr = "";31string datafile = Context.Parameters["installdir"] + @"FlowerShop.mdf";32string logfile = Context.Parameters["installdir"] + @"FlowerShop_log.ldf";33sqlstr = "EXEC sp_attach_db @dbname ='"+ Context.Parameters["dbname"] + "',@filename1='"+ datafile + "',@filename2='" + logfile + "'";34return sqlstr;35 }3637private void ExecuteSql(string DatabaseName, string SqlStr) 38 {39string SqlConnectionStr = @"server="+ hostname + ";uid=" + username + ";pwd=" + userpassword;40SqlConnection myConnection = newSqlConnection(SqlConnectionStr);41SqlCommand myCommand = new SqlCommand(SqlStr, myConnection);42 myCommand.Connection.Open();43 myCommand.Connection.ChangeDatabase(DatabaseName);44 myCommand.ExecuteNonQuery();45 myCommand.Connection.Close();46 }4748private void AddFlowerShopDataBase()49 {50 ExecuteSql("pubs", CreateSqlStr());51 }5253private void ModifyXML()54 {55string XMLdir = Context.Parameters["installdir"] + @"Web.config";56 XmlNodeReader reader = null;57 XmlTextWriter writer = null;58 XmlDocument doc = new XmlDocument();59 doc.Load(XMLdir);60 reader = new XmlNodeReader(doc);61writer = new XmlTextWriter(XMLdir, System.Text.Encoding.UTF8);6263try64 {65while (reader.Read())66 {67if (reader.NodeType == XmlNodeType.Element && == "connectionStrings")68 {69string strContent = reader.ReadInnerXml(); 70strContent = "<add name=\"strShop\" connectionString=\"server=" + hostname + ";database=" + dbname + ";uid=" + username + ";pwd=" + userpassword + "\" providerName=\"System.Data.SqlClient\"/>";71 XmlNode root = doc.DocumentElement;72XmlElement elem = doc.CreateElement("connectionStrings");73 elem.InnerXml = strContent;74root.ReplaceChild(elem, root.ChildNodes[1]);75 doc.Save(writer);76break;77 }78 }79 }80finally81 {82if (reader != null)83 reader.Close();84 }85 }8687public override void Install(IDictionary stateSaver)88 {89base.Install(stateSaver);90 hostname = Context.Parameters["hostname"];91 username = Context.Parameters["username"];92 userpassword = Context.Parameters["userpassword"];93 dbname = Context.Parameters["dbname"];94this.AddFlowerShopDataBase();95this.ModifyXML();96 }97 }98 }【注意】最后一个方法Install方法中Parameters中的键名都是与接下来要添加的自定义操作中的变量名要保持一致的,包括上面用到的installdir。
8、在安装项目的【应用程序文件夹】中【添加】-【项目输出】,将刚建好的DbClass项目的主输出添加进来。
9、在安装项目上右键-【视图】-【用户界面】,在【安装】中,选择【启动】,右键选择【添加对话框】-【文本框(A)】,调整文本框A的位置到【安装文件夹】之上,如果要添加许可协议,还可以再添加对话框,选择【许可协议】,调整位置到【欢迎使用】之下。
10、选中【文本框(A)】,设置其属性如下:注意设置的Edit*Property11、在安装项目上右键-【视图】-【自定义操作】,在【安装】处右键【添加自定义操作】,选择应用程序文件夹中的DbClass主输出,并设置主输出的CustomActionData属性为:/dbname=[DBNAME] /hostname=[SERVER] /username=[UID] /userpassword=[PWD] /installdir="[TARGETDIR]\",总共包括5项,都是DbClass项目的类中要用到的,每一项都以/开头,每项之间都用空格隔开,每一项的名字都是与DbClass项目的类中Context.Paramerters的键名一直,其中前4项的[]中的内容都与上面用户界面的文本框A的属性中设置的Edit*Property一致,最后一项是固定的TARGETDIR,写法有所不同。
下面的提交、回滚、卸载都同样设置。
12、如果要添加许可协议,先创建一个rft文件,来包含许可协议的内容,注意此rft文件不能新建一个word DOC文件,然后将其扩展名再改成rtf,这样许可协议在显示的时候会是乱码,必须打开WORD软件,去新建一个空白文档,然后写入许可协议内容,最后直接保存成rtf格式,随后在【文件系统】的【应用程序文件夹】中添加【文件】,选择此rtf文件,然后在【用户界面】的【安装】-【启动】中选择【许可协议】,设置LicenseFile属性为应用程序文件中的rtf 文件。