您的位置:首页 > 编程语言

图文描述Vs2005制作WEB应用程序安装包的方法[E8.Net正式用户可以找我们获取全部代码参考]

2008-03-22 17:19 726 查看
WEB应用程序的发布很多时候是需要给最终用户自己进行安装的. 因此我们需要开发终端用户方便使用的安装包.

。NET工具安装工程向导很快速的就可以实现一个WEB应用程序的安装制作,如果提供给终端用户使用,安装包主要还要做的事情大概有:

1 、配置web.config

2、 安装数据库

3、 创建快捷方式

4、 创建开始程序菜单

。。。。。。。。

创建一个安装工程,并设置好各种属性后。我们可以开始安装包的一些扩展功能。

首先我们需要编写一个E8Installer 类 继承 Installer ,通过重载 Installer类的 install uninstall ...方法来实现扩展

public override void Install(System.Collections.IDictionary stateSaver)

public override void Uninstall(System.Collections.IDictionary stateSaver)

sDBServer = Context.Parameters["dbserver"].ToString();

sDBName = Context.Parameters["dbname"];

strDBSAPsw = Context.Parameters["dbsapsw"];

sCompanyName = Context.Parameters["companyname"];

// sDBUser = "epuser";

sDBPsw = Context.Parameters["password"];

string strWorkTimeType = Context.Parameters["WorkTimeType"].ToString();

string strOnDutyTime1 = Context.Parameters["OnDutyTime1"];

string strOffDutyTime1 = Context.Parameters["OffDutyTime1"];

string strOnDutyTime2 = Context.Parameters["OnDutyTime2"];

string strOffDutyTime2 = Context.Parameters["OffDutyTime2"];

string strTempCataLog = Context.Parameters["filepath"] + @"\Upload\";

string strFileCataLog = Context.Parameters["filepath"] + @"\Download\";

string strGoLimit = Context.Parameters["golimit"];

string strOverLimit = Context.Parameters["overlimit"];

strDBOption = Context.Parameters["dboption"];

strCheckMsg = CheckTime(strOnDutyTime1, strOffDutyTime1, strOnDutyTime2, strOffDutyTime2);

if (strCheckMsg != "")

strCheckMsg = CheckPathValid(strTempCataLog, strFileCataLog);

if (strCheckMsg != "")

strCheckMsg = CheckNumbericSet(strGoLimit, strOverLimit);

if (strCheckMsg != "")

if (strWorkTimeType == "1")

strWorkTimeType = "50";

if (strWorkTimeType == "2")

strWorkTimeType = "55";

if (strWorkTimeType == "3")

strWorkTimeType = "60";

string strValue = "server=" + sDBServer.Trim() + ";user id=" + sDBUser.Trim() +

";password=" + sDBPsw.Trim() + ";database=" + sDBName.Trim() + ";max pool size=100";

System.IO.FileInfo fileInfo = new System.IO.FileInfo(strFolderName + "\\web.config");

if (!fileInfo.Exists)

System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();

xmlDoc.Load(fileInfo.FullName);

bool blnFindit = false;

foreach (XmlNode xmlNode in xmlDoc["configuration"]["connectionStrings"].ChildNodes)

foreach (XmlNode xmlNode in xmlDoc["configuration"]["appSettings"].ChildNodes)

if (blnFindit == true)

}

catch

finally

//创建数据库

sb = this.GetSqlFile("createdatabase.txt");

sb.Replace("@dbname@", sDBName);

sb.Replace("@password@", sDBPsw);

sb.Replace("@dbuser@", sDBUser);

ExecuteSql(connStr, "master", sb.ToString());

//创建数据库用户

sb = this.GetSqlFile("createdbuser.txt");

sb.Replace("@dbname@", sDBName);

sb.Replace("@password@", sDBPsw);

sb.Replace("@dbuser@", sDBUser);

ExecuteSql(connStr, sDBName.Trim(), sb.ToString());

//空数据库

sb = this.GetSqlFile("tables.sql");

ExecuteSql(connStr, sDBName.Trim(), sb.ToString());

//空数据库所有函数

sb = this.GetSqlFile("funGetFullDept.txt");

ExecuteSql(connStr, sDBName.Trim(), sb.ToString());

sb = this.GetSqlFile("funGetFullCatalog.txt");

ExecuteSql(connStr, sDBName.Trim(), sb.ToString());

三、创建快捷方式

由于是WEB 安装,安装过程中可以选择设置 WEB站点和虚拟路径名称,因此还不能直接以现有文件的方式生成快捷方式。 可以通过代码生成文件并复制到相关目录下的方式来实现。代码参考:

System.IO.StreamWriter writer = System.IO.File.CreateText(sSpecFolder + "\\E8.HelpDesk服务管理系统.url");

writer.WriteLine("[internetshortcut]");

writer.WriteLine("URL=http://localhost/" + strVirtualD);

writer.Close();

既然是自己代码生成,还可以写入指定图标。。。。节点

不过需要注意的是,安装程序生成的文件,需要 重载 uninstaller 方法 中处理删除动作

一个完整的安装包还需要考虑更多因素,比如 安装环境存在多个 framework版本情况的处理等。限于篇幅不多介绍,希望能给大家的安装包开发起到抛砖引玉的作用

E8.Net工作流平台为.Net企业应用开发提供了一个起点。E8.Net工作流提升企业战略执行力,欢迎访问: http://***/productFlow.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐