項目打包與軟件封包

編寫時間: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 也可

如何封包

參考

相關文章
相關標籤/搜索