安裝包中需要安裝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外掛程式。如何實現在安裝程式的時候,自動安裝該外掛程式。在查了很多資料之後,找到了如下的解決...