编写时间:2019-07-03
更新时间:2019-07-04 12:29css做者:鬼小妞html
目的:本文旨在帮助一些刚项目开发的人员了解 什么是项目打包,什么是软件封包,如何进行软件封包前端
备注: 本文
整理及编写
了与项目项目打包和软件封包相关的一些知识,仅供参考,描述不当的地方,请评论指正web状态:
整理更新中
2019-7-4windows
先说说我为何要写这篇文章,个人项目负责人发了一个安装包给我,这个安装包在安装的时候能够选安装路径,我就奇怪了,为啥子老子build出来的安装包就直接安装了,连个路径都选不了,哎,菜鸡就是菜鸡,这个知识点都不知道,有什么办法哦。 哈哈哈,我不懂,不是还有度娘嘛,立刻百度呗,然而,我搜不到对我这个菜鸡来讲,能够看得懂的。是我太“单纯”了,老铁,么得事,本身整理呗! 预计整理须要一周哎,下周就得投入真正的项目开发咯浏览器
在进入主题以前,你须要了解,绿色软件与非绿色软件session
绿色软件,指一类小型软件,多数为免费软件,最大特色是软件无需安装即可使用,可存放于闪存中,移除后也不会将任何纪录(注册表消息等)留在本机计算机上。app
非绿色软件,指的是在安装软件的时候,它须要写入注册表,而后选定一个安装途径文件夹去安装所须要的文件。electron
绿色软件不会对注册表进行任何的操做,而非绿色软件会在安装的过程当中对注册表进行操做。模块化
绿色软件自己就是不须要安装和卸载的软件,因此不会对除自己所在目录外的任何文件产生任何影响,而非绿色软件须要安装,因此就会产生影响。
绿色软件不须要安装,随意拷贝、复制就能够用(重装操做系统也能够),而非绿色软件须要安装,因此并无那么方便快捷。
若是说狭义的打包, 那就是把全部的 js 文件, css 文件都分别压缩合并为一个All in One 的 .js 和 .css 文件, 这样浏览器就能够经过少许的 HTTP 请求获取到所须要的前端资源了, 节省流量, 加快页面加载速度.
至于广义的打包, 个人理解应该是上线发布时的预处理工做吧, 主要有:
TypeScript, LESS 等的预处理
资源的合并压缩, JavaScript可能还会须要模块化, CSS文件可能也须要合并、添加兼容性前缀(-webkit-, -moz-)等
js 的合并.
至于打包工具, 流行的有 Gulp, Grunt, Webpack等工具 好比说,在electron一个简单的项目,项目打包后(打包路径是build),在build文件目录下它是这个样子:
在这个打包好的文件夹里,能够直接运行这个项目,(就是说在生产环境下运行)有两个办法:
cms Setup 4.0.0.exe
会自动安装好并运行win-ia32-unpacked
】文件夹,找到exe程序,并运行。你会发现,好比,你想要自定义安装路径,想要出现用户赞成协议等,以上两个方式都不知足你的需求。那怎么办哦,这些项目打包工具就是只能这样。you get!软件封包就产生了
须要将软件的多个文件或者是绿色软件、非安装类软件,打包成一个可执行的exe安装程序,方便进行安装。 好比,上面提到的,项目打包以后,有一个文件夹【win-ia32-unpacked】,
而软件打包是在这个的基础之上,打包一个可执行的exe安装程序,它只有一个文件,和咱们普通下载软件同样只需下载exe就能够了,就好比上文提到的项目打包以后的文件里的这个【cms Setup 4.0.0.exe】文件。 通常封包后的exe扩展程序是属于非绿色软件
经常使用的软件封包形式主要有如下几个形式
使用Inno技术制成的程序安装包可使用/SILENT 和 /VERYSILENT参数进行静默安装 我不知道这两个参数有什么分别,由于它们实现的功能看上去是同样的 setup.exe /VERYSILENT 你会看到一个对话框,询问你是否打算继续安装: 咱们能够经过使用一个参数跳过这个对话框: setup.exe /VERYSILENT /SP- 有些利用Inno 技术作做的安装包会在程序安装完毕后自动运行所安装的程序,例如ISOBuster 不过咱们可使用一个叫作Taskkill的系统自带工具杀死相关的进程。 如下是一个能够用于批处理文件安装由Inno打包的软件的命令的示例: ECHO. ECHO 正在安装ISOBuster 1.4 ECHO 请稍候... start /wait %systemdrive%\install\Applications\ISOBuster\IsoBuster14.exe /VERYSILENT /SP- ECHO. ECHO Killing ISOBuster.exe process taskkill.exe /F /IM isobuster.exe ECHO. 我怎么知道哪一个安装程序是用Inno 技术打包的? 这种软件安装时第一个界面通常以下图所示 在窗口标题栏左侧的图标上点击鼠标左键 而后再探出菜单上点击“About Setup”也能够看见安装类型
要使用静默安装的方式安装用InstallShield技术打包的程序 你首先要在现有的操做系统中建立一个setup.iss文件。
使用NSIS 打包的安装文件能够用 /S参数进行自动安装(“S”是大小写敏感的): Setup.exe /S 你也能够用 /D参数选择将要安装的目标分区和文件夹: Setup.exe /S /D=E:\Software\CDex 像Winamp 和CDex这类的软件都会在安装结束后显示一个确认屏幕(CDex) 或者一个设置文件关联方式的结束安装屏幕(Winamp) 我还不知道怎样跳过这一步,可是这个屏幕对批处理文件的继续执行不会有任何影响 我怎么知道哪一个程序是使用NSIS技术打包的? 不少用NSIS打包的程序在安装的时候都有相似这样的窗口,例如Winamp 和CDex:
微软老大的封包形式! 若是某个软件是用Windows Installer打包的,那你就应该能在文件夹中看到*.msi文件。 这是最典型的特征 这些文件一般可使用 /QB和 /QN参数进行自动安装。 Powertoys使用了 /s /v/qn参数,对于这些软件,你能够依次尝试上面提到的参数 看看哪一个是有效的。 /qb 会在窗口中显示一个基本的安装进程 /qn 参数则不会显示任何窗口,直接在后台自动安装 阻止程序安装完成后自动重启动: 为了阻止某些程序安装成功后自动重启动(例如Kerio Personal Firewall 4),你能够在 /qn 或者 /qb参数后使用REBOOT=Suppress标记,例 如: setup.msi "/qn REBOOT=Suppress" 有些安装程序使用 /s/v/qn参数进行自动安装,所以阻止它们重启动应该用: setup.exe /s /v"/qn REBOOT=Suppress"
用WISE技术打包的软件在安装的时候能够选择使用 /s参数进行自动安装: Setup.exe /s 更多的其余参数:
You can run Wise Installation .EXE with command line options to automate many of the tasks you would normally do in the User Inte***ce. The list of options is as follows.您可使用命令行选项运行Wise install .EXE,以自动化您一般在用户中执行的许多任务 强度* * * ce。选项列表以下。
/c file.wse -- creates executable file from wise script
/r -- opens Wise in SetupCapture window
/u -- runs the upgrade wizard that checks for any upgrades online
/d CompVar=Value -- defines a single compiler variable in Enterprise Edition. Multiple definitions require multiple /d
/d=filename -- uses filename to define compiler variables. Each line in file is CompVar=Value
Example: installbuilder.exe /c /d MYVAR="Test" c:\my\source\files\setup.wse
Wise Installations :
/T -- test mode
/X pathname -- extracts files into pathname
/Z pathname -- extracts files into pathname and reboots
/S -- silent install
/M -- prompts for windows, system, temp directories
/M=filename -- specifies a value file similar to /d above, but for standard variables (See NOTE below).
/M1 -- same as /m plus it prompts before any file that is self-registered
/M2 -- reserved for internal use by Wise during debugger sessions Example: setup.exe /T
Unwise:
/Z -- remove empty directories, including one with unwise itself in it.
/A -- automatic mode, no user choices other than cancel.
/S -- silent mode, automatic mode with no user choices
/R -- rollback mode, selects option to rollback on uninstall
/U -- like automatic mode, but gives all choices other than custom/automatic title window title can be at the end of the command line
Example: unwise.exe /S c:\my\program\directory\install.log NOTE: The values file is a *** text file with variables listed, one per line, in VARIABLE="VALUE" format. If the variable is found in the values file, the specified value is used; otherwise, its value is unchanged. The file containing the variables can be up to 32K.
1.对于微软的补丁基本上有两种:
2.Installshield 应用程序,要使用自动安装的方式安装用InstallShield技术打包的程序,你首先要建立一个setup.iss文件。
3.对于全部以winrar制做的安装程序均可以用/S安装;
4.inno封装方法的/silent /verysilent /norestart
5.nsis 封装方法的 /s /D=E:\Software\CDex
6.wsis 封装方法的/s
大部分软件,其安装都具有必定的智能性,换句话说,许多软件的安装都能采起全自动或半自动的方式进行。 下面以不一样的安装方式进行讨论:
若是某个软件是用Windows Installer打包的,那你就应该能在文件夹中看到*.msi文件。 这是最典型的特征,这些文件一般可使用 /QB和 /QN参数进行自动安装。。 /qb 会在窗口中显示一个基本的安装进程 /qn 参数则不会显示任何窗口,直接在后台自动安装 为了阻止某些程序安装成功后自动重启动(例如Kerio Personal Firewall 4),你能够在 /qn 或者 /qb参数后使用REBOOT=Suppress标记,例如: 如安装虚拟光驱 DaemonTools:msiexec /i dtools.msi /qb REBOOT=SUPPRESS
有两种状况,
一种是相似IE增量补丁包的那种安装文件,要使之静默安装,只须要在执行文件后加上 /q:a /r:n 参数便可;
一种是 Windows 经常使用的补丁文件,通常状况下加上 /U /N /Z 便可实现静默安装。 (对于新的系统补丁,也可以使用 /passive /norestart)。这通用大部分状况,但某些特定的补丁不能用此法进行静默安装。
a.要使用静默安装的方式安装用InstallShield技术打包的程序,首先要在现有的操做系统中建立一个setup.iss文件。 在命令行窗口中使用 -R 参数(大小写敏感)运行安装程序。
例如:Setup.exe -R
b. 接着会显示常见的安装屏幕,而且询问你一些问题,例如要安装的目录等有一点是很重要的,在安装结束后你不能选择“马上重启动计算机”的选项。若是你选了,在批处理文件中的其余命令就会由于计算机重启动而没法执行。
c. 在安装程序运行完毕后,打开你的C:\Windows(或者C:\WINNT)目录,而后找到setup.iss文件,把这个文件和你将要静默安装的程序setup.exe保存在同一个目录中
d. 用如下命令进行静默安装:setup.exe -s [-sms]
我怎么知道哪一个程序是使用InstallShield技术打包的?
大部分这类程序的安装文件均可以被压缩软件解压缩,安装文件setup.exe的属性对话框中应该有“InstallShield (R) Setup Launcher”或者其余相似的字样。 最后,若是你在保存安装文件的文件夹中看到了一个setup.iss文件,那么毫无疑问这是用InstallShield打包了!
InstallShield with MSI 制做的安装文件,请使用相似:setup.exe /s /v"/qb" 来安装
用WISE技术打包的软件在安装的时候能够选择使用 /s参数进行自动安装:setup.exe /s
Inno Setup 制做的安装文件,请使用:setup.exe /sp- /silent /norestart
我怎么知道哪一个安装程序是用Inno 技术打包的?
这种软件安装时第一个界面通常以下图所示 在窗口标题栏左侧的图标上点击鼠标左键,而后再探出菜单上点击“About Setup”能够看见安装类型[attach]138[/attach]
使用 NSIS (NullSoft Installation System) 制做的安装文件,可用 /S (注意大写)来进行静默安装。 示例:setup.exe /S 使用NSIS 打包的安装文件能够用 /S参数进行自动安装(“S”是大小写敏感的): Setup.exe /S
你也能够用 /D参数选择将要安装的目标分区和文件夹: Setup.exe /S /D=E:\Software\CDex
像Winamp 和CDex这类的软件都会在安装结束后显示一个确认屏幕(CDex)或者一个设置文件关联方式的结束安装屏幕(Winamp)
我怎么知道哪一个程序是使用NSIS技术打包的?
不少用NSIS打包的程序在安装的时候都有相似这样的窗口,例如Winamp 和CDex:[attach]139[/attach]
制做的安装文件,可用 /silent 参数进行静默安装。 反正拿到一个安装程序,你们用各静默安装参数试试就知道了 ([/s] [/S] [/silent [/noreboot]] [/verysilent [/sp-] [/norestart]] [/q] [/qn] [/qb] [REBOOT=SUPPRESS] [/s /v/qn] [/q:a /r:n] [/u /n /z] [/quiet] [/SilentInstallNoSponsor] [/SilentInstall] [/s /qn] [/s /qd] [-s] [-q] 等)。