乙個比較完整的Inno Setup 安裝指令碼

2021-07-04 21:18:16 字數 3859 閱讀 9707

增加了對ini檔案設定的功能,乙個安裝包常用的功能都具備了。

;壓縮相關

compression=lzma

solidcompression=yes

;製作選擇語言

[languages]

name: "chs"; messagesfile: "compiler:default.isl" ;licensefile :"c:\example\原始檔案\chs\agreement.txt"

name: "en"; messagesfile: "compiler:languages\english.isl";licensefile :"c:\example\原始檔案\en\agreement.txt"

;使用者定製任務

[tasks]

name: "desktopicon"; description: ""; groupdescription: ""; flags: unchecked

name: "quicklaunchicon"; description: ""; groupdescription: ""; flags: unchecked

name: "tasks_1" ; description:"使用者自定義任務1"; flags: unchecked

name: "tasks_2" ; description:"使用者自定義任務2"; flags: unchecked

;選擇了元件才會出現的定製任務

name: "tasks_3" ; description:"使用者自定義任務3";components: c1 ; flags: unchecked

;更改顯示在程式中顯示的訊息文字

[messages]

beveledlabel=hkiss科技

;解除安裝對話方塊說明

confirmuninstall=您真的想要從電腦中解除安裝issample嗎?%n%n按 [是] 則完全刪除 %1 以及它的所有元件;%n按 [否]則讓軟體繼續留在您的電腦上.

;定**壓說明

;statu***tractfiles=解壓並複製主程式檔案及相關庫檔案...

;用於在使用者系統中建立,修改或刪除登錄檔健值

[registry]

root: hklm ;subkey:"software\issample";valuetype:dword;valuename:config;valuedata:10 ;flags:uninsdeletevalue

;在執行指令碼

[code]

//全域性變數

var myprogchecked: boolean;

//判斷程式是否存在

//初始華程式事件

function initializesetup(): boolean;

var isbl: boolean; //宣告變數

var isstr: string;

begin //開始

isbl := true; //變數賦值

isstr := '歡迎';

if regvalueexists(hkey_local_machine, 'software\issample', 'config') then

begin

msgbox('已安裝過,請先解除安裝在安裝',mbconfirmation, mb_ok);

isbl := false;

end else

begin

//msgbox('無值',mbconfirmation, mb_ok);

isbl := true;

end;

//下面是個麻煩的 條件語句 end else 注意

//if msgbox(isstr, mbconfirmation, mb_okcancel) = idok then

//begin

// isbl := true;

// msgbox('執行了', mbconfirmation, mb_ok);

//end else

//begin

// isbl := false;

//msgbox('執行了', mbconfirmation, mb_ok);

//end;

result := isbl;

end; //結束

procedure curstepchanged(curstep: tsetupstep);

var isstr :string;

begin

if curstep=ssinstall then //實際安裝前呼叫

begin

//msgbox('curstepchanged:實際安裝前呼叫', mbconfirmation, mb_okcancel); //安裝完成後呼叫

end;

if curstep=sspostinstall then

begin

isstr := expandconstant('\tmp.rar');

// if fileexists(isstr) then

// begin

// msgbox('檔案存在',mbconfirmation, mb_ok);

// end else

// begin

// msgbox('檔案不存在',mbconfirmation, mb_ok);

// end;

// msgbox('curstepchanged:實際安裝後呼叫', mbconfirmation, mb_okcancel);

end;

end;

//下一步 按鈕按鈕 事件

function nextbuttonclick(curpageid: integer): boolean;

var resultcode: integer;

var issetup : boolean;

begin

issetup := true ;

case curpageid of

wpselectdir:

msgbox('nextbuttonclick:' #13#13 'you selected: ''' + wizarddirvalue + '''.', mbinformation, mb_ok); //wizarddirvalue路徑

wpselectprogramgroup:

msgbox('nextbuttonclick:' #13#13 'you selected: ''' + wizardgroupvalue + '''.', mbinformation, mb_ok); //開始選單名

wpready:

begin

if not regvalueexists(hkey_local_machine, 'software\test', 'config') then begin

if msgbox('程式執行需要test.ext,是否安裝!', mbconfirmation, mb_yesno) = idyes then begin

extracttemporaryfile('test.exe');

if not exec(expandconstant('\test.exe'), '', '', sw_shownormal, ewwaituntilterminated, resultcode) then

msgbox('test.exe出錯:' #13#13 ' ' + syserrormessage(resultcode) + '.', mberror, mb_ok);

end else begin

issetup := false ;

end ;

bringtofrontandrestore();

end;

end;

end;

result := issetup;

end;

乙個比較完整的Inno Setup 安裝指令碼

增加了對ini檔案設定的功能,乙個安裝包常用的功能都具備了。壓縮相關 compression lzma solidcompression yes 製作選擇語言 languages name chs messagesfile compiler default.isl licensefile c exa...

乙個完整的健身方案

乙個完全的健身方案應當包含吃 飲食 練 訓練 睡 睡眠 三個方面,而練則由心肺,力量,柔韌三個主要部分組成。有鑑於此,本人給出的訓練計畫是 開始時用5 10分鐘有氧熱身,最後用5 10分鐘拉伸放鬆,中間是40 50分鐘的力量訓練。力量訓練主要有 1 背部 引體向上 頸前下拉 2 胸部 平板臥推 坐姿...

乙個完整的大作業

1.選乙個自己感興趣的主題。2.網路上爬取相關的資料。3.進行文字分析,生成詞云。4.對文字分析結果解釋說明。5.寫一篇完整的部落格,附上源 資料爬取及分析結果,形成乙個可展示的成果。詞云.txt w for i in range 20 print c i for words count in ra...