知识大全 用InstallShield打包ASP程序的脚本
Posted 数据库
篇首语:别裁伪体亲风雅,转益多师是汝师。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用InstallShield打包ASP程序的脚本相关的知识,希望对你有一定的参考价值。
用InstallShield打包ASP程序的脚本 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
#include ifx h //不能移动 ////////////////////////////////////////////////////////////////////////////// // 用InstallShield 进行 ASP 软件的打包和自动安装 // 原创作者: 贾俊 (Jaron) // 网址: // 邮件: // 首次发表于网易 ChinaASP ASPHouse ////////////////////////////////////////////////////////////////////////////// // 功能 // 文件复制 // 可选自动设置独立站点运行(设置IIS) // 可选自动设置虚拟站点运行(设置IIS) // 设置目录可读 可写及可运行脚本 // 自动创建ODBC // 自动创建或附加MDF格式的SQL数据库 并优化 // 自动安装 ScriptEncode 解码程序 // 本文仅列出了 InstallShield 的 Script 部分 还有两个 VBS 文件及其他设置 // 测试过程中有任何问题 请来 ;编程空间版 讨论 ////////////////////////////////////////////////////////////////////////////// prototype CreateDataBase(STRING STRING STRING); prototype CreateWebSite(STRING STRING); // 创建 IIS 站点 prototype CreateVirtualDir(STRING); // 创建虚拟目录 ////////////////////////////////////////////////////////////////////////////// // // 函数: 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 svEdit svEdit ; 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 szField szField ; STRING szDefault svResult; OBJECT piisObj; LIST list listStartCopy; NUMBER nLevel nvSize; begin szBmpPath= C: ^ temp ^ left bmp ; DialogSetInfo (DLG_INFO_ALTIMAGE szBmpPath TRUE); // 设置左边的图片 //To Do: if you want to enable background window title and caption bar title //SetTitle( @TITLE_MAIN WHITE ); //SetTitle( @TITLE_CAPTIONBAR BACKGROUNDCAPTION ); //Enable( FULLWINDOWMODE ); //Enable( BACKGROUND ); //SetColor(BACKGROUND RGB ( )); //默认值设定 TARGETDIR = C: ^ inetpub ^ JaronSoft ^@FOLDER_NAME; szDir = TARGETDIR; SHELL_OBJECT_FOLDER = @FOLDER_NAME; svName = 试用版用户 ; svCompany = JDinfo Neork ; svSerial = ; Dlg_Start: // beginning of dialogs label Dlg_SdWele: //欢迎 对话框 szTitle = 欢迎进入 ; szMsg = ; nResult = SdWele( szTitle szMsg ); if (nResult = BACK) goto Dlg_Start; Dlg_SdLicense://软件许可协议 对话框 szLicenseFile = SUPPORTDIR ^ license txt ; szTitle = 许可协议 ; szMsg = ; szQuestion = ; nResult = SdLicense( szTitle szMsg szQuestion szLicenseFile ); if (nResult = BACK) goto Dlg_SdWele; 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)< ) then //goto Dlg_SdRegisterUserEx; //endif; //检查序列号完毕 Dlg_SdAskDestPath://安装位置 对话框 szTitle = 检查序列号 ; szMsg = ; nResult = SdAskDestPath( szTitle szMsg szDir ); TARGETDIR = szDir; if (nResult = BACK) goto Dlg_SdRegisterUserEx; Dlg_SetupType: //安装类型 对话框 nSetupType = TYPICAL; szTitle = 安装类型 ; szMsg = 请选择您需要按哪种方式安装 ; nResult = SetupType ( szTitle szMsg nSetupType ); if (nResult = BACK) then goto Dlg_SdAskDestPath; else nSetupType = nResult; if (nSetupType != CUSTOM) then szTargetPath = TARGETDIR; nvSize = ; ComponentCompareSizeRequired(MEDIA szTargetPath nvSize); if (nvSize != ) 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 = ; 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 ://设置数据库服务器 对话框 szTitle = 设置 +@PRODUCT_NAME+ 的运行模式 ; szMsg = 请选择软件运行的方式 极力推荐使用独立站点方式运行 ; szField = 独立站点方式运行(自动创建新站点) ; szField = 虚拟目录方式运行(自动创建虚拟目录) ; svEdit =TRUE; svEdit =FALSE; SetDialogTitle(DLG_ASK_TEXT szTitle); //DialogSetInfo ( DLG_INFO_CHECKSELECTION ); nOpt = EXCLUSIVE ; nResult = AskOptions (nOpt szMsg szField svEdit szField svEdit ); if (nResult = BACK) goto Dlg_SdSelectFolder; if (svEdit =FALSE) goto Dlg_SdStartCopy; Dlg_AskText ://设置数据库服务器 对话框 szTitle = 设置IIS信息服务及数据库服务器 ; szMsg = 现在开始设置IIS系统 ; szQuestion= 请输入本服务器的主机名或IP地址 安装程序将按照您提供的资料设置IIS信息服务 如果您没有填写 安装程序将自动跳过站点的创建! ; szServerIP= 地址 ; szServerPort= 端口 ; szServerIPDefault= ; szServerPortDefault= ; SetDialogTitle(DLG_ASK_TEXT szTitle); nResult=SdShowDlgEdit (szTitle szQuestion szServerIP szServerPort szServerIPDefault szServerPortDefault); if (nResult = BACK) goto Dlg_SelMode; Dlg_AskSQL ://设置数据库服务器 对话框 szTitle = 设置数据库 ; szMsg = 现在开始设置Microsoft SQL Server数据库系统 ; szQuestion= 请输入SQL SERVER数据库服务器的用户名和密码 安装程序将按照您上步提供的IP地址和下面的用户名和密码创建和优化数据库系统 如果您提供的用户名和密码是错误的 安装程序将自动跳过数据的设置! ; szSQLsvr= 主机名 ; szSQLusr= 用户名 ; szSQLpwd= 密码 ; svSQLsvr= localhost ; svSQLusr= sa ; szSQLpwd= ; SetDialogTitle(DLG_ASK_TEXT szTitle); nResult=SdShowDlgEdit (szTitle szQuestion szSQLsvr szSQLusr szSQLpwd svSQLsvr svSQLusr svSQLpwd); if (nResult = BACK) goto Dlg_SelMode; Dlg_SdStartCopy://开始复制文件 对话框 szTitle = 开始复制文件 ; szMsg = 点击下一步开始复制文件 ; listStartCopy = ListCreate( STRINGLIST ); ListAddString(listStartCopy 用户名 +svName AFTER); ListAddString(listStartCopy 公司名称 +svCompany AFTER); ListAddString(listStartCopy 序列号 +svSerial AFTER); ListAddString(listStartCopy 目标目录 +szDir AFTER); if (svEdit =TRUE) then ListAddString(listStartCopy IP地址 +szServerIPDefault AFTER); ListAddString(listStartCopy 端口号 +szServerPortDefault AFTER); endif; ListAddString(listStartCopy 请确认您填写的信息 按下一步开始复制文件 AFTER); nResult = SdStartCopy( szTitle szMsg listStartCopy ); ListDestroy(listStartCopy); if (nResult = BACK) goto Dlg_AskText; // setup default status SetStatusWindow( ); Enable(STATUSEX); StatusUpdate(ON ); if (svEdit =TRUE) then CreateWebSite(szServerIPDefault szServerPortDefault); // 开始创建 IIS 站点 endif; if (svEdit =TRUE) then CreateVirtualDir( NetOA ); // 开始创建 IIS 站点 endif; CreateDataBase(svSQLsvr svSQLusr svSQLpwd); // 创建和优化数据库 return ; end; ////////////////////////////////////////////////////////////////////////////// // // 函数: OnFirstUIAfter // // 事件: FirstUIAfter event is sent after file transfer when installation // is run for the first time on given machine In this event handler // installation usually displays UI that will inform end user that // installation has been pleted successfully // /////////////////////////////////////////////////////////////////////////////// function OnFirstUIAfter() STRING szTitle szMsg szMsg szOption szOption szCmdLine; NUMBER bOpt bOpt ; begin //set_vod_liveaddress(); szCmdLine = SUPPORTDIR ^ SCE CHS EXE ; if (LaunchAppAndWait(szCmdLine /q WAIT) < ) then MessageBox ( 不能安装解码程序 请联系供应商 SEVERE); endif; Disable(STATUSEX); bOpt = FALSE; bOpt = FALSE; szMsg = SdLoadString(IFX_SDFINISH_MSG ); szMsg = 请浏览本主机WEB服务器上的 +@PRODUCT_NAME+ 虚拟目录 例 &//Localhost/ ; szOption = ; szOption = ; szTitle = @PRODUCT_NAME+ 安装完成 ; SdFinishEx(szTitle szMsg szMsg szOption szOption bOpt bOpt ); szCmdLine = //LocalHost ; //if (LaunchApp(PROGRAMFILES ^ Internet Explorer ^ IEXPLORE EXE szCmdLine) < ) then //MessageBox ( 不能打开浏览器 SEVERE); //endif; return ; end; ////////////////////////// // 创建IIS站点 ////////////////////////// function CreateWebSite(szServerIPDefault szServerPortDefault) STRING szCmdLine szWaitTxt; begin if ((szServerIPDefault = ) || (szServerPortDefault = )) then MessageBox ( 您没有设定 +@PRODUCT_NAME+ 运行的服务器IP地址或端口!!IIS信息服务设置失败!请自行创建IIS站点 并将主目录设为 +TARGETDIR SEVERE); else szWaitTxt= 正在创建IIS和设置站点 ; SdShowMsg (szWaitTxt TRUE); Delay( ); szCmdLine = SUPPORTDIR ^ mkw site vbs + r +TARGETDIR+ i +szServerIPDefault+ o +szServerPortDefault+ t +@PRODUCT_NAME; if (LaunchAppAndWait( WScript exe szCmdLine WAIT) < ) then MessageBox ( 不能建立WEB 虚拟目录 没有找到 WScript exe 或执行脚本错误 SEVERE); endif; SdShowMsg (szWaitTxt FALSE); endif; return ; end; ////////////////////////// // 创建虚拟目录 ////////////////////////// function CreateVirtualDir(VirtualFolder) STRING szCmdLine szWaitTxt; begin if (VirtualFolder = ) then MessageBox ( 没能读取到虚拟目录的名称!请联系系统供应商! +TARGETDIR SEVERE); else szWaitTxt= 正在创建 +@PRODUCT_NAME+ 的虚拟目录 ; SdShowMsg (szWaitTxt TRUE); Delay( ); szCmdLine = SUPPORTDIR ^ mkwebdir vbs + w v \\ +VirtualFolder+ \\ \\ + TARGETDIR+ \\ ; if (LaunchAppAndWait( WScript exe szCmdLine WAIT) < ) then MessageBox ( 不能建立WEB 虚拟目录 没有找到 WScript exe 或执行脚本错误 SEVERE); endif; SdShowMsg (szWaitTxt FALSE); endif; return ; end; ////////////////////////// // 创建和优化数据库 ////////////////////////// function CreateDataBase(svSQLsvr svSQLusr svSQLpwd) STRING szCmdLine szWaitTxt; begin szWaitTxt= 正在创建 +@PRODUCT_NAME+ 所需数据库 ; SdShowMsg (szWaitTxt TRUE); Delay( ); szCmdLine = /U +svSQLusr+ /P +svSQLpwd+ /S +svSQLsvr+ /Q \\ exec sp_attach_db N OASystem N +SUPPORTDIR ^ OASystem_data mdf \\ ; if (LaunchAppAndWait( osql exe szCmdLine WAIT) < ) then MessageBox ( 数据库创建失败!请确您的系统中已安装 Microsoft SQL Server 如仍无法解决 请联系系统供应商! SEVERE); endif; SdShowMsg (szWaitTxt FALSE); szWaitTxt= 正在优化 +@PRODUCT_NAME+ 系统数据库 ; SdShowMsg (szWaitTxt TRUE); Delay( ); szCmdLine = /U +svSQLusr+ /P +svSQLpwd+ /S +svSQLsvr+ /Q \\ use OASystem ; exec sp_updatestats\\ ; if (LaunchAppAndWait( osql exe szCmdLine WAIT) < ) then MessageBox ( 数据库优化失败!您可以在 sql查询分析器中执行 use OASystem ; exec sp_updatestats 完成! SEVERE); endif; SdShowMsg (szWaitTxt FALSE); return ; end; cha138/Article/program/yxkf/201401/30229相关参考
知识大全 利用InstallShield获取注册表键值的脚本
利用InstallShield获取注册表键值的脚本 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!U
自带打包工具打包Asp.NetWeb应用程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 打开
认识ASP程序所使用的几种脚本语言 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在浏览器中通过
系统发布 系统设计完成后需要打包发布将应用系统制作成安装程序制作安装程序的工具很多一般Delphi开发的应用系统可以使用InstallShield来完成系统的安装查询 系统发布的注意事项参考第
用脚本解决ASP.NET页面刷新问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用ASPNE
开始>所有程序>MicrosoftVisualStudio>VisualStudioTools>VisualStudio命令提示()(以管理员权限打开) )cabarc将
<!打包类文件> <targetname=jardepends=piledescription=打包类文件>  
将一个简单的类(Sample)进行编译打包运行(传参数) 源文件 java源文件Samplejava packagepowerwind; importjavaxsw
将一个简单的类(Sample)进行编译打包运行(传参数) 源文件java源文件Samplejava packagepowerwind; importjavaxswing*;
ASP入门教程ASP和脚本语言 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!