Windows应用安装制作工具调查报告

Windows应用安装方式

Windows应用安装主要有如下两种方式:

  1. exe:可执行程序executable program,EXE File)
  2. Microsoft Windows Installer( MSI)

说到MSI文件,不得不先说说Windows Installer,它不只是安装程序,而且是可扩展的软件管理系统。Windows Installer的用途包括:管理软件的安装、管理软件组件的添加和删除、监视文件的复原以及使用回滚技术维护基本的灾难恢复。另外,Windows Installer还支持从多个源位置安装和运行软件,而且可以由想要安装自定义程序的开发人员自定义。要想使用这些功能,就必须通过MSI文件。MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据。MSI文件将程序的组成文件与功能关联起来。此外,它还包含有关安装过程本身的信息:如安装序列、目标文件夹路径、系统依赖项、安装选项和控制安装过程的属性。

Win8因为UAC的原因,安装MSi文件时会出现2869的错误代码。虽然有解决办法,但因此应该使用exe方式。

安装制作工具比较

MSI

advanced installer

Microsoft Windows Installer, free 30 days trial
http://www.advancedinstaller.com/
Powerful and easy to use Windows Installer authoring tool.
Install, update and configure your products safely, securely and reliably.

Excelsior

"create my installation MSI files which works pretty nicely and there‘s not a big learning curve at all."

http://installer.excelsior-usa.com/en/

Five apps for creating installation packages

http://www.techrepublic.com/blog/five-apps/five-apps-for-creating-installation-packages/

1. InstallShield Express 2013: $650 (for the Express edition)
2. Nullsoft NSIS Installer: price of free for both home and commercial purposes
You can even take compressed ZIP files and convert them to EXE setups with a basic converter app called Zip2Exe.
3. InstallAware 16
4. Advanced Installer: Enterprise edition for a cool $399
5. Inno Setup: much like Nullsoft‘s NSIS installer.

Free Windows Installer Tool

1. Nullsoft NSIS Installer: price of free for both home and commercial purposes
You can even take compressed ZIP files and convert them to EXE setups with a basic converter app called Zip2Exe.
2. WiX
WiX is an open source collection of tools for generating Windows Installer packages.
It integrates well with Visual Studio. It works off a set of XML setup declaration files. There is a definite learning curve but there is a book on it and documentation and examples on the Internet. http://wixtoolset.org/

Installer Features

完备的安装工具应该具备哪些功能,Refer to InstallShield Features:

http://www.flexerasoftware.com/producer/products/software-installation/installshield-software-installer/tab/editions

主要功能如下:

  1. Support for latest Microsoft technologies:win10,win8.x,...
  2. Available in different languages
  3. Create DPI-aware installations
  4. Easily customize your installations
  5. ...

什么DPI? 全称是dots per inch (DPI), 也就是每英寸的点数,在显示器上就是每英寸的像素个数,Window上一般默认是96 dpi 作为100% 的缩放比率, 但是要注意的是该值未必是真正的显示器物理值, 只是Windows里我们的一个参考标准。XP对高DPI的支持比较差劲, 大部分情况下就是字体的放大。

Java程序安装基本需求

  1. bat to exe
  2. 压缩和打包
  3. jre
  4. 快捷方式
  5. 卸载

NSIS (Nullsoft Scriptable Install System)

NSIS

Apache Tomcat installer uses NSIS.
https://sourceforge.net/projects/nsis/
NSIS (Nullsoft Scriptable Install System) is a professional open source system to create Windows installers.
It is designed to be as small and flexible as possible and is therefore very suitable for internet distribution.

HM NIS Edit

https://sourceforge.net/projects/hmne
HM NIS Edit is the best Editor/IDE for Nullsoft
Scriptable Install System (NSIS). Its useful for experts and beginner in
the creation of Setup programs with the NSIS.

NSIS in Eclipse

https://sourceforge.net/projects/eclipsensis/?source=recommended

NSIS脚本制作Java程序的EXE启动器

http://www.cnblogs.com/zdxster/archive/2011/04/14/2015552.html

Name "Java Launcher"
Caption "Java Launcher"
Icon "Java Launcher.ico"
OutFile "Java Launcher.exe"

SilentInstall silent
AutoCloseWindow true
ShowInstDetails nevershow

Section ""
    Exec "java -jar test.jar"
SectionEnd

上面这个启动器的一个问题是会打开一个控制台窗口,这是因为用了java命令,只要改为javaw就不会出现控制台了。 另外一个问题是不够健壮,只有当java或者javaw命令在当前目录下或者在PATH上,才能正确启动。也许你想带着一个JRE发布你的程序,那么就不能够去启动系统的java命令。

下面来加入寻找java命令目录的功能,寻找的顺序为

  1. 当前目录下的jre子目录, 如果你的发布程序里带了一个jre,优先启动。
  2. 环境变量JAVA_HOME 指定的目录
  3. 在注册表中,HKLM\SOFTWARE\JavaSoft\Java Runtime Environment下保存着安装的JRE的目录信息。
  4. 当前目录和系统环境变量PATH中的目录
Name "Java Launcher"
Caption "Java Launcher"
Icon "Java Launcher.ico"
OutFile "Java Launcher.exe"

SilentInstall silent
AutoCloseWindow true
ShowInstDetails nevershow

Section ""
  Call GetJRE
  Pop $R0

  ; change for your purpose (-jar etc.)
  StrCpy $0 ‘"$R0" -jar test.jar‘

  SetOutPath $EXEDIR
  ExecWait $0
SectionEnd

Function GetJRE
  Push $R0
  Push $R1

  ClearErrors
  StrCpy $R0 "$EXEDIR\jre\bin\javaw.exe"
  IfFileExists $R0 JreFound
  StrCpy $R0 ""

  ClearErrors
  ReadEnvStr $R0 "JAVA_HOME"
  StrCpy $R0 "$R0\bin\javaw.exe"
  IfErrors 0 JreFound

  ClearErrors
  ReadRegStr $R1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion"
  ReadRegStr $R0 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$R1" "JavaHome"
  StrCpy $R0 "$R0\bin\javaw.exe"

  IfErrors 0 JreFound
  StrCpy $R0 "javaw.exe"

 JreFound:
  Pop $R1
  Exch $R0
FunctionEnd

NSIS三种压缩方式压缩比对比

zlib(37.8%), bzip2(35.0%), LZMA(30.2%)

Using zlib compression.

EXE header size:               60928 / 36864 bytes
Install code:                  18857 / 63638 bytes
Install data:               96384144 / 254641558 bytes
Uninstall code+data:           20906 / 34063 bytes
CRC (0x593DB559):                  4 / 4 bytes

Total size:                 96484839 / 254776127 bytes (37.8%)

Using bzip2 compression.

EXE header size:               59904 / 35840 bytes
Install code:                  18567 / 63638 bytes
Install data:               89185810 / 254641558 bytes
Uninstall code+data:           20722 / 33994 bytes
CRC (0x3804E826):                  4 / 4 bytes

Total size:                 89285007 / 254775034 bytes (35.0%)

Using lzma compression.

EXE header size:               59392 / 35328 bytes
Install code:                  15467 / 63638 bytes
Install data:               76923448 / 254641558 bytes
Uninstall code+data:           16643 / 31896 bytes
CRC (0xF22167E9):                  4 / 4 bytes

Total size:                 77014954 / 254772424 bytes (30.2%)
时间: 2024-10-13 00:45:16

Windows应用安装制作工具调查报告的相关文章

Windows+Linux安装Python工具setuptools

Windows+Linux安装Python工具setuptools setuptools是 Python Enterprise Application Kit(PEAK)的一个副项目,它 是一组Python的 distutilsde工具的增强工具(适用于 Python 2.3.5 以上的版本,64 位平台则适用于 Python 2.4 以上的版本),可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况. 经常接触Python可能会注意到,当需要安装第三方pytho

【转】Nessus漏洞扫描教程之安装Nessus工具

转载地址:http://my.oschina.net/u/1585857/blog/477035#OSC_h1_1 Nessus漏洞扫描教程之安装Nessus工具 Nessus漏洞 扫描教程 安装Nessus工具 目录[-] Nessus漏洞扫描教程之安装Nessus工具 Nessus基础知识 Nessus概述 安装Nessus工具 获取Nessus软件包 Nessus工具在Windows下安装 Nessus工具在Linux下安装 Nessus漏洞扫描教程之安装Nessus工具 Nessus基础

Nessus漏洞扫描教程之安装Nessus工具

Nessus漏洞扫描教程之安装Nessus工具 Nessus基础知识 Nessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它.该工具提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库.Nessus不同于传统的漏洞扫描软件,Nessus可同时在本机或远端上遥控,进行系统的漏洞分析扫描.对应渗透测试人员来说,Nessus是必不可少的工具之一.所以,本章将介绍Nessus工具的基础知识. Nessus概述 Nessus通常包括成千上万的最新的漏洞,各种各样的扫描选项,及易于

Windows平台上安装LaTex工具以及LaTex常见的文件类型汇总

LaTex广泛用于学术报告.paper.学术PPT的撰写和制作,熟练掌握LaTex是在学术界生存的必备基本技能之一.本文简要介绍了在Windows平台上安装LaTex工具的基本方法和流程以及LaTeX常见的文件类型. 1.下载MiKTeX,下载地址为:http://miktex.org/download.MiKTeX的正确读音为/'mik'tek/. 2.安装MikTeX.安装完毕后,在开始菜单会出现"Previewer"和"TeXworks"程序图标.Previe

安装文件制作工具NSIS的使用总结

安装文件制作工具NSIS 使用总结 在给客户开发客户端软件时,为避免技术人员亲自上门安装带来额外的成本损耗,通常我们都会自作一个安装包,以确保我们开发的程序的相关依赖资源.环境在客户端运行前能自动地正确配置好. NSIS是一个比较流行的安装文件制作工具,制作简单,提供脚本语言来定义环境和程序的静态资源配置,使得安装文件可定制化, 并能根据自定义的脚本文件自动生成可执行的安装包, 大大地简化了程序员的发布工作. NSIS提供了多个脚本demo,可在UI上直接打开来查看其demo 并学习. 其脚本指

装机员U盘启动PE制作工具V5.0(UEFI+UD+首发自动安装MSDN版系统)

软件名称: 装机员U盘启动PE制作工具V5.0(UEFI+UD) 软件语言: 简体中文 软件大小: 288 大小: MB 发布日期: 2016-10-02 文件名称: ZhuangJiYuanPESetup_V5.0.exe M D 5: E8EBB32CB08E914F3C5E0B8BC1A4ACAB 软件封面: 迅雷下载: thunder://QUFodHRwOi8vZG93bi56aHVhbmdqaXl1YW4uY29tOjk1My9aaHVhbmdKaVl1YW5QRVNldHVwX1Y

在Ubuntu Linux下制作Windows 启动安装 USB盘

最近想 ,在Ubuntu上刻录个windows的安装U盘,在网上看了些资料,不过好多都说的很模糊,于是乎,我走了不少弯路.这里记录下来,希望了帮到大家. 首先你的有个USB吧,这里我们假定USB在ubuntu中为/dev/sdb 1. 给USB设备 /dev/sdb 分区,注意,要是主分区, sudo fdisk /dev/sdb Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e

U盘装系统系列一—-安装老毛桃U盘启动制作工具

今天跟大家分享下如何制作U盘启动盘,通过U盘启动来安装操作系统.U盘便于携带,同时能解决光驱出问题装不了系统的麻烦,可谓是装机利器!我一直用的都是老毛桃的U盘启动制作工具,很好用,很强大,就以它来演示吧.一.安装老毛桃U盘启动制作软件1.从老毛桃官网下载老毛桃U盘启动制作工具如V110828.2.双击程序执行安装.3.一直点击“下一步”到下面这个界面即可安装成功.二.制作U盘启动盘1. 打开主程序(桌面创建个快捷方式),插入U盘,在磁盘列表里会自动列出盘符.型号.容量等信息.2.选择要制作启动盘

Windows环境下dig工具的安装及使用

Dig 工具全称为域名信息搜索器(Domain Information Groper),能够显示详细的DNS查询过程,是一个非常强大的DNS故障诊断工具.一般Linux和Unix系统都已内置了该功能,但是在Windows环境中只有nslookup工具,下面我来介绍一下如何在Windows环境下安装Dig工具. 下载Dig工具安装包Bind 进入以下FTP镜像站点,下载最新版的bind安装包: ftp://ftp.nominum.com/pub/isc/bind9/ 根据自己系统下载对应的安装包