项目打包与软件封包

编写时间: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会自动安装好并运行

  • 二、进入build打包好的项目【win-ia32-unpacked】文件夹,找到exe程序,并运行。

你会发现,好比,你想要自定义安装路径,想要出现用户赞成协议等,以上两个方式都不知足你的需求。那怎么办哦,这些项目打包工具就是只能这样。you get!软件封包就产生了

软件封包

须要将软件的多个文件或者是绿色软件、非安装类软件,打包成一个可执行的exe安装程序,方便进行安装。 好比,上面提到的,项目打包以后,有一个文件夹【win-ia32-unpacked】,

这个文件夹【win-ia32-unpacked】,里面存放的exe程序就是绿色软件,用户不须要安装,直接双击就能够运行这个exe软件。

而软件打包是在这个的基础之上,打包一个可执行的exe安装程序,它只有一个文件,和咱们普通下载软件同样只需下载exe就能够了,就好比上文提到的项目打包以后的文件里的这个【cms Setup 4.0.0.exe】文件。 通常封包后的exe扩展程序是属于非绿色软件

-----如下内容待整理,请勿参考!!!-----------------------------------

待更新整理

常见封包

经常使用的软件封包形式主要有如下几个形式

  • Inno Setup
  • InstallShield
  • NSIS
  • Microsoft Windows Installer
  • WISE
  • QUOTE:

1、Inno Setup

使用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

要使用静默安装的方式安装用InstallShield技术打包的程序 你首先要在现有的操做系统中建立一个setup.iss文件。

  1. 在命令行窗口中使用 -R 参数(大小写敏感)运行安装程序。 例如: Setup.exe -R
  2. 接着会显示常见的安装屏幕,而且询问你一些问题,例如要安装的目录等 有一点是很重要的,在安装结束后你不能选择“马上重启动计算机”的选项 若是你选了,在批处理文件中的其余命令就会由于计算机重启动而没法执行
  3. 在安装程序运行完毕后,打开你的C:\Windows (或者C:\WINNT)目录 而后找到setup.iss文件,把这个文件和你将要静默安装的程序setup.exe保存在同一个目录中
  4. 用如下命令进行静默安装: start /wait %systemdrive%\install\Application\Application_name\Setup.exe -s
  5. 对全部准备进行静默安装,而且使用了InstallShield技术打包的程序重复上面的步骤操做 技术难点:从光盘上的RunOnceEx中安装用Installshield技术打包的程序 若是从光盘上直接执行RunOnceEx,用Installshield打包的应用程序安装将会失败 除非你指定了用于保存日至文件的位置 下面就有一个示例,你能够将这个例子用于你本身的程序的安装(粗体字部分看仔细了): REG ADD %KEY%\045 /VE /D "Kerio Personal Firewall 2.1.5" /f REG ADD %KEY%\045 /V 1 /D "%CDROM%\apps\KPF\Setup.exe -s -f2"%systemdrive%\kerio.log"" /f 而后你能够用一个cleanup.cmd文件删除kerio.log文件 DEL "%systemroot%\kerio.log" 我怎么知道哪一个程序是使用InstallShield技术打包的? 大部分这类程序的安装文件均可以被压缩软件解压缩,安装文件setup.exe的属性对话框中应该有“InstallShield (R) Setup Launcher”或者 其余相似的字样。 最后,若是你在保存安装文件的文件夹中看到了一个setup.iss文件, 那么毫无疑问这是用InstallShield打包了!

三. NSIS(Nullsoft SuperPiMP Install System )

使用NSIS 打包的安装文件能够用 /S参数进行自动安装(“S”是大小写敏感的): Setup.exe /S 你也能够用 /D参数选择将要安装的目标分区和文件夹: Setup.exe /S /D=E:\Software\CDex 像Winamp 和CDex这类的软件都会在安装结束后显示一个确认屏幕(CDex) 或者一个设置文件关联方式的结束安装屏幕(Winamp) 我还不知道怎样跳过这一步,可是这个屏幕对批处理文件的继续执行不会有任何影响 我怎么知道哪一个程序是使用NSIS技术打包的? 不少用NSIS打包的程序在安装的时候都有相似这样的窗口,例如Winamp 和CDex:

四.Microsoft Windows Installer

微软老大的封包形式! 若是某个软件是用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 Installer

用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.对于微软的补丁基本上有两种:

  • a.Self-Extrcating Cabinet格式的采用:/Q /M /Z 参数;
  • b.Win32 Cabinet Self-Extrcator格式的采用:/Q:A /R:N 参数;或者你能够用***.exe /?来看到它的静默安装参数;

2.Installshield 应用程序,要使用自动安装的方式安装用InstallShield技术打包的程序,你首先要建立一个setup.iss文件。

3.对于全部以winrar制做的安装程序均可以用/S安装;

4.inno封装方法的/silent /verysilent /norestart

5.nsis 封装方法的 /s /D=E:\Software\CDex

6.wsis 封装方法的/s

软件自动安装之―静默安装参数篇

大部分软件,其安装都具有必定的智能性,换句话说,许多软件的安装都能采起全自动或半自动的方式进行。   下面以不一样的安装方式进行讨论:      

1、 Microsoft Windows Installer

若是某个软件是用Windows Installer打包的,那你就应该能在文件夹中看到*.msi文件。 这是最典型的特征,这些文件一般可使用 /QB和 /QN参数进行自动安装。。 /qb 会在窗口中显示一个基本的安装进程 /qn 参数则不会显示任何窗口,直接在后台自动安装 为了阻止某些程序安装成功后自动重启动(例如Kerio Personal Firewall 4),你能够在 /qn 或者 /qb参数后使用REBOOT=Suppress标记,例如: 如安装虚拟光驱 DaemonTools:msiexec /i dtools.msi /qb REBOOT=SUPPRESS

2、 Windows 补丁包

有两种状况,

  • 一种是相似IE增量补丁包的那种安装文件,要使之静默安装,只须要在执行文件后加上 /q:a /r:n 参数便可;

  • 一种是 Windows 经常使用的补丁文件,通常状况下加上 /U /N /Z 便可实现静默安装。 (对于新的系统补丁,也可以使用 /passive /norestart)。这通用大部分状况,但某些特定的补丁不能用此法进行静默安装。

3、InstallShield

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打包了!

4、InstallShield with MSI

InstallShield with MSI 制做的安装文件,请使用相似:setup.exe /s /v"/qb" 来安装

5、WISE Installer

用WISE技术打包的软件在安装的时候能够选择使用 /s参数进行自动安装:setup.exe /s

6、Inno Setup

Inno Setup 制做的安装文件,请使用:setup.exe /sp- /silent /norestart

我怎么知道哪一个安装程序是用Inno 技术打包的?

这种软件安装时第一个界面通常以下图所示 在窗口标题栏左侧的图标上点击鼠标左键,而后再探出菜单上点击“About Setup”能够看见安装类型[attach]138[/attach]

7、NullSoft Installation System

使用 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]

8、Wise Installation Professional

制做的安装文件,可用 /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] 等)。

经常使用软件的静默安装参数参考

  • winrar 静默参数 /s (大小写皆可)
  • Windows Installer 3 (.msi)
  • msiexec /i x:\y\z.msi /qb(或qn) /norestart 获取安装参数:msiexec /help inno 的包 /verysilent 代替 /silent 也可

如何封包

参考

相关文章
相关标签/搜索