Inno Setup 系列之先解除安裝之後再安裝

2021-09-08 06:47:13 字數 1459 閱讀 5682

需求

實現原理是:從登錄檔 'uninstallstring' 項中讀取解除安裝資訊,用exec進行靜默解除安裝。

[setup]

; note: the value of

; do

; (to generate a new guid, click tools | generate guid inside the ide.)

**}

[code]

function

initializesetup(): boolean;

varresultstr: string;

resultcode: integer;

begin

if regquerystrin**alue(hklm, '

software\microsoft\windows\currentversion\uninstall\_is1

', '

uninstallstring

', resultstr) then

begin

resultstr :=removequotes(resultstr);

exec(resultstr,

'/silent

', ''

, sw_hide, ewwaituntilterminated, resultcode);

end;

result :=true;

end;

靜默安裝,就是減少程式與使用者的互動,一站式的安裝過程

1. 靜默安裝引數

inno setup 的靜默安裝是通過引數來控制的

1.1. `/silent` 靜默安裝,但如果又報錯,還是會提示,並且有進度條

1.2. `/verysilent` 靜默安裝,更強制,不過是否報錯,都不會有任何提示

(注意:如果需要重啟電腦,它會不提示而直接重啟)

1.3. `/suppressmsgboxes` 由 `suppress`(抑制,鎮壓)和`msgboxes`(訊息框),組成,表示不提示訊息框

1.4. `/norestart` 結合1.2使用,這樣就不會沒有提示而直接重啟了

引數用法例子:

qq.exe /silent /suppressmsgboxes

2. 不僅安裝過程可以靜默,解除安裝過程也可以實現

常用引數也一樣,但執行的是相應的解除安裝程式而已

如:

uninstall.exe /silent /suppressmsgboxes

更多引數請參考官方文件:

inno setup 中文幫助文件

posted @

2018-12-16 21:14

foryourfuture 閱讀(

...)

編輯收藏

innosetup的靜默安裝與解除安裝

靜默安裝,就是減少程式與使用者的互動,一站式的安裝過程 一氣呵成 innosetup的靜默安裝是通過引數來控制的 1.1.silent 靜默安裝,但如果又報錯,還是會提示,並且有進度條 1.2.verysilent 靜默安裝,更強制,不過是否報錯,都不會有任何提示 注意 如果需要重啟電腦,它會不提示...

innosetup的靜默安裝與解除安裝

靜默安裝,就是減少程式與使用者的互動,一站式的安裝過程 一氣呵成 innosetup的靜默安裝是通過引數來控制的 1.1.silent 靜默安裝,但如果又報錯,還是會提示,並且有進度條 1.2.verysilent 靜默安裝,更強制,不過是否報錯,都不會有任何提示 注意 如果需要重啟電腦,它會不提示...

Oracle之完全解除安裝

1.進入計算機管理,在服務中,找到oracle開頭的所有服務,右擊選擇停止 2.在開始選單中,找到universal installer,執行oracle universal installer,單擊解除安裝產品 3.在產品清單視窗中,單擊全部展開,除了oradb11g home1外,勾選其他專案,...