[Setup]
; your setup setting
[Code]
function InitializeSetup(): Boolean;
var version: String;
begin
result := true;
if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\yourapp', 'DisplayVersion', version) = true then begin
if CompareStr(version, '1.1.5.0') > 0 then ; 1.1.5.0是你最新版的version
if WizardSilent() = false then begin ; Silent就預設不安裝舊的
if MsgBox('Would you like to install the older version?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDNO then begin ;詢問user
result := false;
end;
end else begin
result := false;
end;
end;
end;
Note:
1. 原本是以為Inno Setup有這個選項可以設定,不過找了一下還是沒找到,所以就自己手動弄了.. XD
2 則留言:
原來可以這樣處理呀!
只是我想安裝Visual C++ 2005的版本,那每一台的登錄檔都會是相同的位置嗎?
我想,像MYSQL或FIREBIRD資料庫的安裝,應該也可以如法泡製吧?
如果是用登錄檔的方式,通常每一台的位置會是一樣的,除非軟體版本或是產品ID有變。
所以只要安裝程式會寫一個"唯一"Key到登錄檔,就可以使用這種檢查方式。
:)
張貼留言