Advanced Installer 制作.NetWeb部署安装包

简介: 原文:Advanced Installer 制作.NetWeb部署安装包因为是.Net的Web应用程序,所以想用Advanced Installer 调用Dll实现安装部署。因为我需要自己定制参数,包括数据库服务器和数据库名称等,我需要建立一个企业版的项目工程。
原文: Advanced Installer 制作.NetWeb部署安装包

因为是.Net的Web应用程序,所以想用Advanced Installer 调用Dll实现安装部署。

因为我需要自己定制参数,包括数据库服务器和数据库名称等,我需要建立一个企业版的项目工程。

 建立完毕,产品参数设置好了之后,就转到【用户界面】-》【对话框】。

在【首次安装】目录下新建一个对话框:

                             【图1.1】

编辑对话框,如【图1.1】,我在这里将数据库服务器文本框属性名设置为:DBSERVERNAME    如【图1.2】

 

 

               【图1.2】

 我们就可以将属性名称作为参数标识。各个文本框属性名称设置好,我找到【工程细节】-》【自定义操作】

在【安装执行顺序】里面有一个节点【Install】,右击【Install】,选择【添加预定义自定义操作】下的【.Net Installer类操作】

【.Net Installer类操作】DLL的制作将稍后介绍。

 

 

         【图1.3】

 

 我看见如【图1.4】的默认设置。

 

 

         【图1.4】

 其中“操作数据”是重点!!这些数据将被dotNetCusAct.dll调用。

 单击“操作数据”后面的小按钮,弹出【编辑.Net自定义操作】对话框

 

         【图1.5】

Installer类参数的设置是重点,设置错误,将无法安装。

如”target-》[APPDIR]\“ 这个斜杠是必须的,[APPDIR]是安装路径属性名,我前面提到的属性名称在这里就能排上用场了。

如“DbServerName-》[DBSERVERNAME]”普通的属性不加“\”!

在.Net类库中可以用语句“Context.Parameters["DbServerName"]“来获取参数值。

 

 

【.Net Installer类操作】DLL的制作

至此,安装设置就完成了。下面的工作就交给.Net。

 

在VS中建立动态库,在项目在添加【安装程序类】见如下代码:

 

 

using  System.Collections;
using  System.ComponentModel;
using  System.Configuration.Install;


namespace  WebSetupLibrary
{
    [RunInstaller(
true )]
    
public   partial   class  MyInstaller : Installer
    {
        
public  MyInstaller()
        {
            InitializeComponent();
        }

        
#region  Install 安装

        
public   override   void  Install(IDictionary stateSaver)
        {
            
base .Install(stateSaver);

            Parameters paramters 
=   new  Parameters() {
                DbServer 
=   this .Context.Parameters[ " DbServer " ].ToString(),
                DbName 
=   this .Context.Parameters[ " DbName " ].ToString(),
                IISWebName 
=   this .Context.Parameters[ " iisWebName " ].ToString(),
                User 
=   this .Context.Parameters[ " UserName " ].ToString(),
                Pwd 
=   this .Context.Parameters[ " Password " ].ToString(),
                Port 
=   this .Context.Parameters[ " Port " ].ToString(),
                Target 
=   this .Context.Parameters[ " target " ].ToString(),
                ValidateOption 
=   this .Context.Parameters[ " ValidateOption " ].ToString(),
                Videolivedir 
=   this .Context.Parameters[ " VideoLiveDir " ].ToString()
            };


            Operators o 
=   new  Operators();
            o.RegisterParamers(paramters);

            o.FlashMediaServerSetting();
            o.DataBaseSetting();
            o.WebSiteSetting();
            o.RegistryKeySetting();
        }

        
#endregion
    }
}

 

有两个是必须的:

1.  [RunInstaller(true)]的值必须为true

2.必须继承Installer类,重写Install方法

 

我这里只是做了安装过程, 所以只是重写了Install方法,如要UnInstall,就可以重新UnInstall方法。

 

 

目录
相关文章
|
1月前
|
运维 数据可视化 C++
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
2025年热门Web化容器部署工具对比:Portainer与Websoft9。Portainer以轻量可视化管理见长,适合技术团队运维;Websoft9则提供一站式应用部署与容器管理,内置丰富开源模板,降低中小企业部署门槛。两者各有优势,助力企业提升容器化效率。
181 1
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
|
2月前
|
Java 应用服务中间件 Docker
java-web部署模式概述
本文总结了现代 Web 开发中 Spring Boot HTTP 接口服务的常见部署模式,包括 Servlet 与 Reactive 模型、内置与外置容器、物理机 / 容器 / 云环境部署及单体与微服务架构,帮助开发者根据实际场景选择合适的方案。
114 25
|
2月前
|
安全 JavaScript Java
java Web 项目完整案例实操指南包含从搭建到部署的详细步骤及热门长尾关键词解析的实操指南
本项目为一个完整的JavaWeb应用案例,采用Spring Boot 3、Vue 3、MySQL、Redis等最新技术栈,涵盖前后端分离架构设计、RESTful API开发、JWT安全认证、Docker容器化部署等内容,适合掌握企业级Web项目全流程开发与部署。
144 0
|
6月前
|
JSON 数据格式
【Azure Fabric Service】演示使用PowerShell命令部署SF应用程序(.NET)
本文详细介绍了在中国区微软云Azure上使用Service Fabrics服务时,通过PowerShell命令发布.NET应用的全过程。由于Visual Studio 2022无法直接发布应用,需借助PowerShell脚本完成部署。文章分三步讲解:首先在Visual Studio 2022中打包应用部署包,其次连接SF集群并上传部署包,最后注册应用类型、创建实例并启动服务。过程中涉及关键参数如服务器证书指纹和服务端证书指纹的获取,并附带图文说明,便于操作。参考官方文档,帮助用户成功部署并运行服务。
206 73
|
5月前
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
210 35
|
4月前
|
人工智能 安全 程序员
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
|
9月前
|
开发框架 前端开发 JavaScript
ASP.NET Web Pages - 教程
ASP.NET Web Pages 是一种用于创建动态网页的开发模式,采用HTML、CSS、JavaScript 和服务器脚本。本教程聚焦于Web Pages,介绍如何使用Razor语法结合服务器端代码与前端技术,以及利用WebMatrix工具进行开发。适合初学者入门ASP.NET。
|
11月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
610 3
|
7月前
|
中间件 关系型数据库 数据库
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
195 19
|
7月前
|
人工智能
D1net阅闻 | 奥特曼:把期望降低100倍,OpenAI下月不会部署AGI
D1net阅闻 | 奥特曼:把期望降低100倍,OpenAI下月不会部署AGI