笔记:Advanced Installer 打包Web应用

时间:2024-10-12 11:04:31

原文:笔记: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

笔记:Advanced Installer 打包Web应用


2>设置产品信息

产品名称,公司名称,默认会作为软件安装的路径

笔记:Advanced Installer 打包Web应用


3>选择资源

选择web项目的发布文件,VICA服务端发布文件

选择Files and Folders ->点击 Application Folder 右键  ->弹窗中选择 Add Folder

笔记:Advanced Installer 打包Web应用

4>在Package Definition -> Builds 中设置打包方式

我选择的是把所有资源文件打包成一个安装包

笔记:Advanced Installer 打包Web应用


5>安装设置

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

笔记:Advanced Installer 打包Web应用


6>安装必须的软件(环境搭建)

Requirements -> Prerequisites -> Packages

1、选择系统已有的工具(为了减少安装程序的大小也可以选择url)

笔记:Advanced Installer 打包Web应用

2、安装自己的工具

右键Pre-install 在弹窗中选择 New Packages Prerequisites 。在本地选择自己的工具

3、安装IIS

笔记:Advanced Installer 打包Web应用


7>设置对话框

在安装过程中需要客户配置如IP地址端口等信息

User Interface ->Dialogs

笔记:Advanced Installer 打包Web应用

笔记:Advanced Installer 打包Web应用

根据自己的需求设置安装过程中的对话框 (Toolbox 中选择控件拖到对话框中)

选择拖入的文本框,设置文本框的Property Name 这个值就是文本框的ID,其他地方可以通过Property Name来获取它的值

也可以设置默认值等(获取值的方式是中括号中填属性名 如:  [Property_Name] )

接下来设置非空判断 点击对话框中的“下一步”选择 Published Events 点击New 添加事件

笔记:Advanced Installer 打包Web应用

笔记:Advanced Installer 打包Web应用

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

接下来修改弹出窗口 ,展开我们的对话框,找到自动生成的对话框

笔记:Advanced Installer 打包Web应用

笔记:Advanced Installer 打包Web应用

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

笔记:Advanced Installer 打包Web应用


8>配置IIS

笔记:Advanced Installer 打包Web应用

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

笔记:Advanced Installer 打包Web应用

其他设置如:应用池配置,.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

笔记:Advanced Installer 打包Web应用

笔记:Advanced Installer 打包Web应用笔记:Advanced Installer 打包Web应用

笔记:Advanced Installer 打包Web应用

笔记:Advanced Installer 打包Web应用

设置运行时隐藏dom界面,管理员方式运行,已经运行事件步骤等。

如果有更高的要求比如安装的时候运行,卸载的时候运行,某个节点运行等等可以设置 Condition

笔记:Advanced Installer 打包Web应用

笔记:Advanced Installer 打包Web应用