用InstallShield 進(jìn)行 ASP 軟件的打包和自動安裝
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
#include "ifx.h" //不能移動
////////////////////////////////////////////////////////////////////////////// // 用installshield 進(jìn)行 asp 軟件的打包和自動安裝 // 原創(chuàng)作者: 賈俊 (jaron) // 網(wǎng)址: http://www.jiangdu.net // 郵件: jaron@jdinfo.net // 首次發(fā)表于網(wǎng)易,chinaasp,asphouse ////////////////////////////////////////////////////////////////////////////// // 功能: // 1.文件復(fù)制 // 2.可選自動設(shè)置獨(dú)立站點(diǎn)運(yùn)行(設(shè)置iis) // 3.可選自動設(shè)置虛擬站點(diǎn)運(yùn)行(設(shè)置iis) // 4.設(shè)置目錄可讀,可寫及可運(yùn)行腳本 // 5.自動創(chuàng)建odbc // 6.自動創(chuàng)建或附加mdf格式的sql數(shù)據(jù)庫 并優(yōu)化 // 7.自動安裝 scriptencode 解碼程序 // 本文僅列出了 installshield 的 script 部分,還有兩個 vbs 文件及其他設(shè)置 // 測試過程中有任何問題,請來 http://www.jiangdu.net/bbs 編程空間版 討論 ////////////////////////////////////////////////////////////////////////////// prototype createdatabase(string,string,string); prototype createwebsite(string,string); // 創(chuàng)建 iis 站點(diǎn) prototype createvirtualdir(string); // 創(chuàng)建虛擬目錄 ////////////////////////////////////////////////////////////////////////////// // // 函數(shù): onfirstuibefore // // 事件: firstuibefore event is sent when installation is run for the first // time on given machine. in the handler installation usually displays // ui allowing end user to specify installation parameters. after this // function returns, componenttransferdata is called to perform file // transfer. // /////////////////////////////////////////////////////////////////////////////// function onfirstuibefore() number nresult,nsetuptype,nopt,svedit1,svedit2; string sztitle, szmsg,szbmppath; string szlicensefile, szquestion; string szserverip,szserverport,szserveripdefault,szserverportdefault; string szsqlsvr,szsqlusr,szsqlpwd,svsqlsvr,svsqlusr,svsqlpwd; string svname, svcompany, svserial; string szfile,sztargetpath,szdir,szfolder; string szcomponents, sztargetdir; string szfield1,szfield2; string szdefault,svresult; object piisobj; list list,liststartcopy; number nlevel,nvsize; begin szbmppath="c:"^"temp"^"left.bmp";
dialogsetinfo (dlg_info_altimage, szbmppath, true); // 設(shè)置左邊的圖片 //to do: if you want to enable background, window title, and caption bar title //settitle( @title_main, 24, white ); //settitle( @title_captionbar, 0, backgroundcaption ); //enable( fullwindowmode ); //enable( background ); //setcolor(background,rgb (0, 128, 128)); //默認(rèn)值設(shè)定
targetdir = "c:"^"inetpub"^"jaronsoft"^@folder_name; szdir = targetdir; shell_object_folder = @folder_name; svname = "試用版用戶"; svcompany = "jdinfo network"; svserial = "111-1111111"; dlg_start:
// beginning of dialogs label dlg_sdwelcome: //歡迎 對話框
sztitle = "歡迎進(jìn)入"; szmsg = ""; nresult = sdwelcome( sztitle, szmsg ); if (nresult = back) goto dlg_start; dlg_sdlicense://軟件許可協(xié)議 對話框
szlicensefile = supportdir ^ "license.txt"; sztitle = "許可協(xié)議"; szmsg = ""; szquestion = ""; nresult = sdlicense( sztitle, szmsg, szquestion, szlicensefile ); if (nresult = back) goto dlg_sdwelcome; dlg_sdshowinfolist://readme文件 對話框
szfile = supportdir ^ "infolist.txt"; list = listcreate( stringlist ); listreadfromfile( list, szfile ); sztitle = "readme"; szmsg = ""; nresult = sdshowinfolist( sztitle, szmsg, list ); listdestroy( list ); if (nresult = back) goto dlg_sdlicense; dlg_sdregisteruserex://用戶信息 對話框
szmsg = ""; sztitle = "用戶信息"; nresult = sdregisteruserex( sztitle, szmsg, svname, svcompany, svserial ); if (nresult = back) goto dlg_sdshowinfolist; //檢查序列號 //if (chk_serial(svcompany, svserial)<0) then //goto dlg_sdregisteruserex; //endif; //檢查序列號完畢 dlg_sdaskdestpath://安裝位置 對話框 sztitle = "檢查序列號"; szmsg = ""; nresult = sdaskdestpath( sztitle, szmsg, szdir, 0 ); targetdir = szdir; if (nresult = back) goto dlg_sdregisteruserex; dlg_setuptype: //安裝類型 對話框
nsetuptype = typical; sztitle = "安裝類型"; szmsg = "請選擇您需要按哪種方式安裝"; nresult = setuptype ( sztitle , szmsg , "" , nsetuptype , 0 ); if (nresult = back) then goto dlg_sdaskdestpath; else nsetuptype = nresult; if (nsetuptype != custom) then sztargetpath = targetdir; nvsize = 0; componentcomparesizerequired(media,sztargetpath,nvsize); if (nvsize != 0) then messagebox( szsdstr_notenoughspace, warning ); goto dlg_setuptype; endif; endif; endif; dlg_sdcomponenttree: //對話框
if ((nresult = back) && (nsetuptype != custom)) goto dlg_setuptype; sztitle = "對話框"; szmsg = ""; sztargetdir = targetdir; szcomponents = ""; nlevel = 2; if (nsetuptype = custom) then nresult = sdcomponenttree(sztitle, szmsg, sztargetdir, szcomponents, nlevel); if (nresult = back) goto dlg_setuptype; endif; dlg_sdselectfolder://對話框
szfolder = shell_object_folder; sztitle = "文件夾"; szmsg = ""; nresult = sdselectfolder( sztitle, szmsg, szfolder ); shell_object_folder = szfolder; if (nresult = back) goto dlg_sdcomponenttree; dlg_selmode ://設(shè)置數(shù)據(jù)庫服務(wù)器 對話框 sztitle = "設(shè)置"+@product_name+"的運(yùn)行模式"; szmsg = "請選擇軟件運(yùn)行的方式,極力推薦使用獨(dú)立站點(diǎn)方式運(yùn)行"; szfield1="獨(dú)立站點(diǎn)方式運(yùn)行(自動創(chuàng)建新站點(diǎn))"; szfield2="虛擬目錄方式運(yùn)行(自動創(chuàng)建虛擬目錄)"; svedit1=true; svedit2=false; setdialogtitle(dlg_ask_text,sztitle); //dialogsetinfo ( dlg_info_checkselection, "", 1); nopt = exclusive ; nresult = askoptions (nopt,szmsg,szfield1,svedit1,szfield2,svedit2); if (nresult = back) goto dlg_sdselectfolder; if (svedit1=false) goto dlg_sdstartcopy; dlg_asktext ://設(shè)置數(shù)據(jù)庫服務(wù)器 對話框
sztitle = "設(shè)置iis信息服務(wù)及數(shù)據(jù)庫服務(wù)器"; szmsg = "現(xiàn)在開始設(shè)置iis系統(tǒng)"; szquestion=" 請輸入本服務(wù)器的主機(jī)名或ip地址,安裝程序?qū)凑漳峁┑馁Y料設(shè)置iis信息服務(wù)。如果您沒有填寫,安裝程序?qū)⒆詣犹^站點(diǎn)的創(chuàng)建!"; szserverip="地址:"; szserverport="端口:"; szserveripdefault="192.168.0.1"; szserverportdefault="80"; setdialogtitle(dlg_ask_text,sztitle); nresult=sdshowdlgedit2 (sztitle, szquestion,szserverip,szserverport,szserveripdefault,szserverportdefault); if (nresult = back) goto dlg_selmode; dlg_asksql ://設(shè)置數(shù)據(jù)庫服務(wù)器 對話框
sztitle = "設(shè)置數(shù)據(jù)庫"; szmsg = "現(xiàn)在開始設(shè)置microsoft sql server數(shù)據(jù)庫系統(tǒng)"; szquestion=" 請輸入sql server數(shù)據(jù)庫服務(wù)器的用戶名和密碼,安裝程序?qū)凑漳喜教峁┑膇p地址和下面的用戶名和密碼創(chuàng)建和優(yōu)化數(shù)據(jù)庫系統(tǒng)。如果您提供的用戶名和密碼是錯誤的,安裝程序?qū)⒆詣犹^數(shù)據(jù)的設(shè)置!"; szsqlsvr="主機(jī)名:"; 該文章在 2010/7/24 17:03:23 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |