您的位置:知识库 »

ASP.NET项目安装包制作

作者: steven hu  来源: 博客园  发布时间: 2010-09-12 13:12  阅读: 13894 次  推荐: 9   原文链接   [收藏]  
摘要:最近公司要求OA要以安装的形式,方便实施人员安装到客户机器上。之前是在好几年前用VS2003的打包过Web项目,不过早已忘却。所以第一个想法就是使用搜索引擎查找,网上也有许多介绍,不过有些讲的比较粗,看不太明白。还是动手实践一下,或许会清爽明朗。

  在测试Web项目中新建一个Web安装项目,如下图:

image   在新建的安装项目,右击项目如下图:

image

  选择项目输出,选择要输出的项目,如下图:

image

  我选一个Web网站,则只有内容输出选项,选中内容文件选择确定。如果选Web项目,则如下图:

image

  右击项目点击属性,则出现如下图:

image

  再点击系统必备:

image

  这些选择打包程序需要包含的组件,主要是我们需要.Net Framework组件,我们需要打包进来。这里将.Net Framework 2.0(X86)打钩,并且在下面指定系统必备组件的安装位置选择第二项,这样就打钩的组件就会跟进安装包了。第一项则是组件从微软网站上下载,第三项则是指定自定义位置。点击确定,接下来,我们右击项目,如下图:

image

  点击启动条件,如下图:

image

  我们可以看到启动条件,我们来看看IIS条件,右击IIS条件,查看属性窗口,如下图:

image  这里可以看到设置条件,IISVERSION >= "#5"表示IIS版本需要5.0以上,如果需要6.0以上则是IISVERSION >= "#6"。下面我们来设置安装界面。右击项目如下图:

image

  选择点击用户界面,如下图:

image

  这里我已经添加了三个步骤,分别是许可协议、客户信息、文本框(A)这三个。

image

  通过右击启动,点击添加对话框,如下图:

image

  来选择我们需要的步骤。右击许可协议步骤,查看属性如下图:

image

  我们知道在安装很多软件的时候都会有一步是许可协议,然后让我们点击同意,然后再下一步,就是这里啦。我们这里添加了一个license.rtf文件到安装项目,这里就可以选择这个文件了。

image

  由于在安装过程也需要设置数据库,所以我们还需要让安装用户在安装过程中输入数据库服务器信息,这里就是文本框(A)这个步骤啦。右击步骤查看属性窗口如下图:

image

  这里有四个文本框可以使用,我们只需要三个数据库服务器、帐号、密码,所以第四个Visible设置为false。由于需要配置数据库,则我们需要再建一个项目,新建一个类库项目,然后添加一个安装类,如下图:

image

  生成一个安装类如下图,是一个继承Installer类的类。

image

  然后我们需要在安装类中编写代码啦。我们重写Install方法:

public override void Install(IDictionary stateSaver)

  这里就是我们需要写配置数据库信息。然后我们在安装项目中添加这个项目,如下图:

image

  然后右击安装项目,如下图:

image

  选择自定义操作,则出现自定义操作界面如下图:

image

  然后我们在安装的操作中添加刚才的新建的项目,右击安装,添加自定义操作,如下图:

image

  选中并点击确定。接下来我们需要在安装过程传递输入的数据传递这个项目中,右击安装下面的刚添加的主输出,如下图:

image

  属性框中的CustomActionData就是指定要传递到安装程序的自定义数据。然后我们再回到新建的那个安装类,在Install方法就可以接收安装过程中输出的数据库信息,如下:

public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
string databaseServer = Context.Parameters["server"].ToString();
string userName = Context.Parameters["user"].ToString();
string userPass = Context.Parameters["pwd"].ToString();
string targetdir = Context.Parameters["targetdir"].ToString();

//这里操作添加数据库,只要执行创建数据库的脚本就可以了。


//这个是测试在安装目录下添加接收到的用户填写的数据库信息
File.WriteAllText(Path.Combine(targetdir, "log.txt"), databaseServer + "/n/r" + userName + "/n/r" + userPass);
}

  这里Context.Parameters["server"]的Server和上面设置CustomActionData是对应的。这样就完成了安装包的制作了,编译生成一下,我们测试一下安装包是否真的有效。下面接一下制作完安装过程:

image

image

image

image

image

image

image

image

  安装过程就这么多了。下面我们来看看是否已经安装成功,如下图:

image

  说明Web网站已经成功被安装到虚拟目录下了。

9
0
标签:ASP.NET

热门文章

    最新文章

      最新新闻

        热门新闻