笔记:Advanced Installer 打包Web应用
原文:笔记:Advanced Installer 打包Web应用
公司要做一款增值税小产品,区别于ACME,本产品核心只有销项部分,面对的客户群是小企业,单税盒单开票机.....
我要做的主要有以下几点:
1、数据库改为SqlCE
2、统一安装配置VICA客户端,服务端(尽管VICA组同事不知道我要改这块^_^)
3、一键安装(支持32位,64位系统,暂时考虑NET4.5,Window7以上系统)
打包工具选择是Advanced Installer 12.7.2
制作安装包过程中遇到的问题:
1、对话框(Dialogs)必填项的控制
2、自定义bat脚本(Custom Actions)执行权限,执行顺序等问题
3、安装调试过程中如何跟踪log日志的问题
------------------------------------华丽的分割线-------------------------------------------
1>新建项目
文件 - > new ->选择 Enterprise

2>设置产品信息
产品名称,公司名称,默认会作为软件安装的路径

3>选择资源
选择web项目的发布文件,VICA服务端发布文件
选择Files and Folders ->点击 Application Folder 右键 ->弹窗中选择 Add Folder

4>在Package Definition -> Builds 中设置打包方式
我选择的是把所有资源文件打包成一个安装包

5>安装设置
设置安装包兼容32位,64位,默认的安装路径,安装过程使用管理员权限

6>安装必须的软件(环境搭建)
Requirements -> Prerequisites -> Packages
1、选择系统已有的工具(为了减少安装程序的大小也可以选择url)

2、安装自己的工具
右键Pre-install 在弹窗中选择 New Packages Prerequisites 。在本地选择自己的工具
3、安装IIS

7>设置对话框
在安装过程中需要客户配置如IP地址端口等信息
User Interface ->Dialogs


根据自己的需求设置安装过程中的对话框 (Toolbox 中选择控件拖到对话框中)
选择拖入的文本框,设置文本框的Property Name 这个值就是文本框的ID,其他地方可以通过Property Name来获取它的值
也可以设置默认值等(获取值的方式是中括号中填属性名 如: [Property_Name] )
接下来设置非空判断 点击对话框中的“下一步”选择 Published Events 点击New 添加事件


在弹窗中选择Display a specific chil dialog 在Condition中设置条件 NOT TAX_NUMBER , 我很好奇为什么这个地方对文本框取值没有加中括号?? 反正这个条件就是 TAX_NUMBER 这个文本框不能为空,为空就弹窗口(这个窗口是自动创建的)
接下来修改弹出窗口 ,展开我们的对话框,找到自动生成的对话框


!!!注意了坑来了,必须把你添加的事件移动到系统默认的事件下,否则添加的事件无效(因为可能已经到了下一个对话框)

8>配置IIS

配置IP和端口(对话框中用户安装过程中输入的IP和端口)

其他设置如:应用池配置,.NET Framework 版本选择,等
9>自定义bat脚本
主要是为了重新注册安装的.NET Framework
bat脚本如下
@echo off
if "%PROCESSOR_ARCHITECTURE%"=="x86" goto x86
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto x64
exit
:x64
"%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe" -iru -enable
exit :x86
"%WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe" -iru -enable





设置运行时隐藏dom界面,管理员方式运行,已经运行事件步骤等。
如果有更高的要求比如安装的时候运行,卸载的时候运行,某个节点运行等等可以设置 Condition


笔记:Advanced Installer 打包Web应用的更多相关文章
- (转)使用 Advanced Installer 打包 一键安装Web应用程序
使用 Advanced Installer 打包 一键安装Web应用程序 安装预览: 资源下载: 示例安装包 操作流程: 1.新建Asp.net Application. 2.设置 ...
- 使用 Advanced Installer 打包 一键安装Web应用程序
原文:使用 Advanced Installer 打包 一键安装Web应用程序 安装预览: 资源下载: 示例安装包 操作流程: 1.新建Asp.net Application. 2.设置应用程序名称和 ...
- Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法
原文:Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法 前几个月使用Advanced Installer 打包了一堆安装包,其中有使用默认主题的,也有根据 ...
- Excel催化剂开源第21波-使用Advanced Installer打包VSTO几个注意问题
STO项目开发完毕完,最终需要分发给用户,需要Excel催化剂用的是Clickonce发布方式,但也面临到部分用户环境要求太高,设置过程太繁锁,而要求有一些简单的安装方式,用打包工具将其打包为一个EX ...
- 使用Advanced Installer打包工具如何设置是否安装预安装程序包
要保证我们的程序能在目标机器上正常运行,便需要保证目标机器上提供了程序运行的必要组件. 而在使用Advanced Installer打包工具制作程序安装包时,我们可以通过配置“需求-运行环境-程序包- ...
- 使用AdvancedInstaller打包web工程设置tomcat端口的方法
原文:使用AdvancedInstaller打包web工程设置tomcat端口的方法 1.首先,要把你要打包的tomcat下的server.xml文件删掉,因为tomcat自带的serv ...
- Advanced Installer 11.9基于IIS打包札记(For MySQL)
原文:Advanced Installer 11.9基于IIS打包札记(For MySQL) Mysql免安装前期部署 下载绿色命令行版本的mysql,将其放入到发布的程序发布包内,执行Update批 ...
- 用Advanced Installer制作DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版详解
关于 DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- Advanced Installer 9.8打包实录
原文 Advanced Installer 9.8打包实录 主要介绍:(1)创建工程,(2)创建快捷方式及其图标(3)卸载设置 创建工程(.net为例): 工程创建完成....接下来进行简单设置 开始 ...
随机推荐
- .NET Core微服务之路:不断更新中的目录 (v0.43)
原文:.NET Core微服务之路:不断更新中的目录 (v0.43) 微服务架构,对于从事JAVA架构的童鞋来说,早已不是什么新鲜的事儿,他们有鼎鼎大名的Spring Cloud这样的全家桶框架支撑, ...
- PL/SQL一个简短的引论
前言 文本 PL/SQL (Procedure Language,程序语言)SQL 1999主要的数据库供应商提供结构化的共同语言 PL/SQL只有支持Oracle数据库 基本的语法 多行凝视 ...
- 编程算法 - 背包问题(三种动态规划) 代码(C)
背包问题(三种动态规划) 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目參考: http://blog.csdn.net/caroline_wen ...
- js精确判断数据类型为何用Object.prototype.toString.call()而不是Object.prototype.toString()
有何区别,为何一定要通过call. 我们知道call是用来改变函数作用域的,Object.prototype.toString.call在这儿也是用来改变作用域的. Object.prototype. ...
- spring-boot-sample-web-jsp
Pom文件需要配置的: <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl&l ...
- override 与overload 的差别
方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现. 重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个 ...
- 关于java中继承抽象类和实现接口的区别
简单来说,继承就是“是不是”,实现就是“有没有”.(一个大神说的,我觉得很生动很形象 海子大神链接http://www.cnblogs.com/dolphin0520/p/3811437.html)
- 1-6 WebAPI基础和演示项目搭建
启动项目的时候 在控制台用dotnet MsgService.dll的方式启动. 在program.cs文件下做如下修改: 实现在控制台 自定义ip和端口,修改之后有将项目重新生成,在控制台启动项目, ...
- Oracle 11g系统分区表中的新功能
在11g有一个新的特点是分区表系统.下面做一个实验: SQL> select * from v$version; BANNER --------------------------------- ...
- 【LeetCode】LRU Cache 解决报告
插话:只写了几个连续的博客,博客排名不再是实际"远在千里之外"该.我们已经进入2一万内. 再接再厉.油! Design and implement a data structure ...