标签:
Windows应用安装主要有如下两种方式:
说到MSI文件,不得不先说说Windows Installer,它不只是安装程序,而且是可扩展的软件管理系统。Windows Installer的用途包括:管理软件的安装、管理软件组件的添加和删除、监视文件的复原以及使用回滚技术维护基本的灾难恢复。另外,Windows Installer还支持从多个源位置安装和运行软件,而且可以由想要安装自定义程序的开发人员自定义。要想使用这些功能,就必须通过MSI文件。MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据。MSI文件将程序的组成文件与功能关联起来。此外,它还包含有关安装过程本身的信息:如安装序列、目标文件夹路径、系统依赖项、安装选项和控制安装过程的属性。
Win8因为UAC的原因,安装MSi文件时会出现2869的错误代码。虽然有解决办法,但因此应该使用exe方式。
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.
"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/
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.
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/
完备的安装工具应该具备哪些功能,Refer to InstallShield Features:
http://www.flexerasoftware.com/producer/products/software-installation/installshield-software-installer/tab/editions
主要功能如下:
什么DPI? 全称是dots per inch (DPI), 也就是每英寸的点数,在显示器上就是每英寸的像素个数,Window上一般默认是96 dpi 作为100% 的缩放比率, 但是要注意的是该值未必是真正的显示器物理值, 只是Windows里我们的一个参考标准。XP对高DPI的支持比较差劲, 大部分情况下就是字体的放大。
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.
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.
https://sourceforge.net/projects/eclipsensis/?source=recommended
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命令目录的功能,寻找的顺序为
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
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%)
标签:
原文地址:http://www.cnblogs.com/markjiao/p/5257459.html