Inno Setup 打包工具 呼叫MSI格式

2021-05-23 14:42:02 字數 3881 閱讀 2086

[code]

procedure installdb;

varpath:string;

path1:string;

path2:string;

path3:string;

path4:string;

resultcode: integer;

regpath:string;

crystalreportspath:string;

crystalreportschspath:string;

reportviewerpath:string;

reportviewerlppath:string;

downurl:string;

crystalreportsfile:string;

crystalreportsfilechs:string;

reportviewerfile:string;

reportviewerfilelp:string;

packfile:string;

begin

regpath:='software/microsoft/.netframework/policy/v2.0';

crystalreportspath:='software/classes/installer/products/8c4d878457793734882ebda4fb3d2ad4/sourcelist/net';

crystalreportschspath:='software/classes/installer/products/8c4d878457793734882ebda4fb3d2ad4';

reportviewerpath:='software/classes/installer/products/8c4d878457793734882ebda4fb3d2ad4/sourcelist/media';

reportviewerlppath:='software/classes/installer/products/8c4d878457793734882ebda4fb3d2ad4/sourcelist';

//.net framework2.0

if regkeyexists(hklm, regpath) then

begin

//msgbox('系統己安裝2.0!',mbinformation,mb_ok);

endelse

//begin if

//  msgbox('系統檢測到您沒有安裝.net framework2.0執行環境,是否立即安裝?',

//  mbconfirmation, mb_yesno) = idyes then

begin

path := expandconstant(packfile);

if(fileordirexists(path)) then  //檢測檔案是否存在

exec(path, '/q', '',

sw_shownormal, ewwaituntilterminated, resultcode);

//end

end//crystalreportspath

if regkeyexists(hklm, crystalreportspath) then

begin

//msgbox('系統己安裝crystalreportspath!',mbinformation,mb_ok);

endelse

//begin if

//  msgbox('系統檢測到您沒有安裝.crystalreportspath執行環境,是否立即安裝?',

// mbconfirmation, mb_yesno) = idyes then

begin

path := expandconstant(crystalreportsfile);

if(fileordirexists(path)) then  //檢測檔案是否存在

shellexec('', path, '', '', sw_show, ewnowait, resultcode)

//end

end//.crystalreportschspath

if regkeyexists(hklm, crystalreportschspath) then

begin

//msgbox('系統己安裝2.0!',mbinformation,mb_ok);

endelse

//begin if

//  msgbox('系統檢測到您沒有安裝.crystalreportschspath執行環境,是否立即安裝?',

//  mbconfirmation, mb_yesno) = idyes then

begin

path := expandconstant(crystalreportsfilechs);

if(fileordirexists(path)) then  //檢測檔案是否存在

shellexec('', path, '', '', sw_show, ewnowait, resultcode)

//end

end//.reportviewerpath

if regkeyexists(hklm, reportviewerpath) then

begin

//msgbox('系統己安裝2.0!',mbinformation,mb_ok);

endelse

//begin if

//  msgbox('系統檢測到您沒有安裝reportviewerpath執行環境,是否立即安裝?',

//  mbconfirmation, mb_yesno) = idyes then

begin

path := expandconstant(reportviewerfile);

if(fileordirexists(path)) then  //檢測檔案是否存在

exec(path, '/q', '',

sw_shownormal, ewwaituntilterminated, resultcode);

//end

end//.reportviewerlppath

if regkeyexists(hklm, reportviewerlppath) then

begin

//msgbox('系統己安裝2.0!',mbinformation,mb_ok);

endelse

//begin if

//  msgbox('系統檢測到您沒有安裝.reportviewerlppath執行環境,是否立即安裝?',

//  mbconfirmation, mb_yesno) = idyes then

begin

path := expandconstant(reportviewerfilelp);

if(fileordirexists(path)) then  //檢測檔案是否存在

exec(path, '/q', '',

sw_shownormal, ewwaituntilterminated, resultcode);

//end

endend;

function nextbuttonclick(curpageid:integer ):boolean;

varresultcode: integer;

errorcode : integer;

crystalreportsfile:string;

path1:string;

begin

if (curpageid = wpfinished) then begin

installdb;

result := true;

endelse

begin

result := true;

endend;

vcpkg VC 打包工具

原文 引用 vcpkg 是微軟 c 團隊開發的在 windows 上執行的 c c 專案包管理工具,可以幫助您在 windows 平台上獲取 c 和 c 庫.vcpkg 自身也是使用 c 開發的 而其他的 c 包管理大多並不是 c 開發的 並且 vcpkg 能夠幫助使用者在 visual studi...

前端打包工具

前端打包工具是一種將前端 進行轉換,壓縮以及合併等操作的程式工具。目前常見的有grunt,webpack等。它能將我們前端人員寫得less,sass等編譯成css.將多個js檔案合併壓縮成乙個js檔案。它的作用就是通過將 編譯 壓縮,合併等操作,來減少 體積,減少網路請求。以及方便在伺服器上執行。目...

打包工具分析

nsis是最好的免費打包工具,功能強大。暴風影音,ppstream,qq,搜狗拼音,flashget等知名軟體都是用它打包的,而且學習簡單,下幾個例子就會了,缺點和inno一樣,都是指令碼的,沒有方便的gui嚮導,其實第三方工具是有gui 生成器的 這個論壇有比較豐富的案例 inno和install...