AdvancedInstaller 打包的时候可以输出MSI与exe及其他类型文件:
方式讲解:
- Single MSI & MSI with resources next to it
这两种打包形式都是以*.msi作为安装包文件后缀名。
单独的MSI安装文件包形式的优势是生成后的文件数量少(只有一个单独的MSI包),易于管理;缺点是容量有限(最高2GB)。
后面的为将资源与MSI分开,msi只负责存放安装信息、安装指令等必要数据,而实际的材料文件则单独以cab压缩包形式生成。优点是可以突破2GB容量限制;缺点是生成的文件由一个变成了两个或多个,不好管理。
但不管怎样,这两种打包形式都有着一些共同缺点:其中一个是:无法自动获得管理员权限,导致安装上去的程序也同样无法获得,你可能需要借助打包额外动作编写系统脚本或Custom Action等途径获得。
还有一个比较明显的:无法提前判断部署目标机器上是否已安装有你需要的前提软件、框架、类库及其他软硬件条件等,因为这些事情MSI是做不到的。 - Single EXE setup & EXE setup with resources next to it
这两种打包形式和上面的两种MSI形式大同小异,不同的是:前一种用.exe文件代替了.msi,后一种则在原有基础上增添了一个*.exe文件。
这个多出的*.exe,即是被称为Bootstrapper(安装策略管理)的东西,因为它是exe,在Windows环境下不依赖于任何其他框架可独立运行,可用来进行环境条件判断、获取特定信息权限等特殊动作。
单独exe的setup包跟单独的msi包一样有容量限制(个人预估计同为2GB上限),而exe带资源包形式则不受限制。 - Web installer
也是目前比较常见的安装方式之一,绝大部分主要安装资源均放在互联网上,用户只需要下载一个很小的可执行exe然后运行,便会自动执行后续安装动作(包括下载完整安装资源文件)等。
后面那个文本框里面填写你存放安装资源文件的URL地址,exe将会前往此地址下载。
打包时的输出配置,很简单:
Folder设置你的所有生成文件的输出磁盘位置,如果留空则默认输出到你的当前工程aip文件所在位置的自动生成的子目录中(这个子目录的命名规则为:aip工程名-SetupFiles);
MSI subfolder为当你选择了MSI with resources或EXE with resources时,生成的msi和资源压缩包所处的磁盘位置,具体为你的exe或msi输出目录的相对下一级;
MSI name可自定义输出的msi文件的文件名;
EXE name可自定义输出的exe文件的文件名;
EXE icon可为你的exe输出文件设置自定义图标;
- 对打包时资源文件的压缩方式进行设置。
第一项:不压缩并把资源直接和MSI文件并列放在同一目录下;
第二项:使用LZMA压缩算法对资源文件进行压缩,附带选项Encrypt archive为对压缩文件进行加密处理,防止无关人士私自打开,此项仅限EXE和Web installer制包方式使用;
第三项:用cab包承载资源文件,子选项很多: - Compress CAB files for smaller size:对cab包进行压缩以减小体积,常用选项;
- One CAB archive containing all installation
files:一个cab包包含所有资源文件,下面的派生子选项“Include CAB file into the MSI
database”作用为将这个cab包嵌进MSI数据包中; - One CAB archive per
feature:每个feature(功能模块)对应一个cab包,具体划分feature请参见基本流程章节里的“组织安装内容”; - Multiple volumes:个人猜测应该是将cab包按指定大小分割成多个,初步试用后发现没有效果,有待证实;
- Advanced CAB layout:高级自定义cab包,目前尚不了解。