• .Net Web项目安装包制作 (一)


    最近公司要求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网站已经成功被安装到虚拟目录下了。

  • 相关阅读:
    Python中的Dictionary
    Python中的list
    Python的string模块化方法
    Python字符串格式化表达式和格式化方法
    Python中的slice操作
    Python中的字符串
    华为笔试——C++进制转换
    华为笔试——C++消重输出
    华为笔试——C++转换字符串问题
    C++数字三角形问题与dp算法
  • 原文地址:https://www.cnblogs.com/tangself/p/1825201.html
Copyright © 2020-2023  润新知