NSIS安裝msi檔案

2021-06-28 03:21:49 字數 1830 閱讀 8773

安裝包中需要安裝activeperl-5.10.0.1002-mswin32-x86-283697.msi檔案,用exec/exewait/exeshell直接呼叫都不行,google了一下發現baidu裡其實有講:

windows (r) installer. v 3.01.4000.1823 

msiexec /option [optional parameter]

安裝選項

安裝或配置產品

/a 管理安裝 - 在網路上安裝產品

/j[/t ] [/g ]

播發產品 - m 播發到所有使用者,u 播發到當前使用者

解除安裝產品

顯示選項

/quiet

安靜模式,無使用者互動

/passive

無從參與模式 - 只顯示程序欄

/q[n|b|r|f]

設定使用者介面級別

n - 無使用者介面

b - 基本介面

r - 精簡介面

f - 完整介面(預設值)

/help

幫助資訊

重新啟動選項

/norestart

安裝完成後不重新啟動

/promptrestart

提示使用者重新啟動(如果必要)

/forcerestart

安裝後總是重新啟動計算機

日誌選項

/l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*]

i - 狀態訊息

w - 非致命警告

e - 全部錯誤訊息

a - 操作的啟動

r - 操作特定記錄

u - 使用者請求

c - 初始介面引數

m - 記憶體不足或致命退出資訊

o - 磁碟空間不足訊息

p - 終端屬性

v - 詳細輸出

x - 額外除錯資訊

+ - 擴充套件到現有日誌檔案

! - 每一行重新整理到日誌

* - 記錄所有資訊,除了 v 和 x 選項

/log

與 /l* 相同

更新選項

/update [;update2.msp]

應用更新

/uninstall [;update2.msp] /package

刪除產品的更新

修復選項

/f[p|e|c|m|s|o|d|a|u|v]

修復產品

p - 僅當檔案丟失時

o - 如果檔案丟失或安裝了更舊的版本(預設值)

e - 如果檔案丟失或安裝了相同或更舊的版本

d - 如果檔案丟失或安裝了不同版本

c - 如果檔案丟失或較驗和與計算的值不匹配

a - 強制重新安裝所有檔案

u - 所有必要的使用者特定登錄檔項(預設值)

m - 所有必要的計算機特定登錄檔項(預設值)

s - 所有現有的快鍵方式(預設值)

v - 從源執行並快取本地資料報

設定公共屬性

[property=propertyvalue]

請查閱 windows (r) installer sdk 獲得有關

命令列語法的其他文件。

額,一下子沒看懂格式到底怎麼寫,查了半天發現了例子,於是知道怎麼寫了:

execwait '"msiexec" /package "activeperl-5.10.0.1002-mswin32-x86-283697.msi"  /qf'

嘗試了半天安裝引數裡的/i不行,/package 倒是可以的

如上是第一種方法

方法二:使用nsis官方外掛程式庫:execcmd::exec

具體使用請google

msi檔案的指令碼安裝

在我們日常的開發環境的搭建中,我們有時候需要安裝很多的msi檔案,如果能把這些msi檔案的安裝自動化,我們就不用乙個乙個的雙擊,然後一步一步地安裝。介紹一下msi檔案 說到msi檔案,不得不先說說windows installer,它不只是安裝程式,而是可擴充套件的軟體管理系統。windows in...

MSI檔案安裝出錯

win10 win8的系統安裝.msi檔案好像很容易報2503,2502的錯誤。主要是因為許可權不足的原因。而安裝msi需要的許可權分好幾種,要全部加上才行 1.使用者許可權不足,需要用管理員登入才可能安裝msi檔案。2.要獲取msi所在資料夾的管理許可權,右鍵資料夾 安全裡面設定 最好還不要中文 ...

INNO SETUP 自動安裝msi檔案

在自己做專案的時候,遇到乙個需要打包的程式。該程式需要用到wingraphviz外掛程式。在專案中,所用到的外掛程式是以msi檔案安裝成功的,因此將程式打包之後,移植到另外一台電腦是,需要自己手動安裝該msi外掛程式。如何實現在安裝程式的時候,自動安裝該外掛程式。在查了很多資料之後,找到了如下的解決...