频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> asp教程 -> 看人家用使用InstallShield制作ASP安装程序(4)

看人家用使用InstallShield制作ASP安装程序(4)

作者:未知  来源:http://edu.chinaz.com  发布时间:2005-7-19 9:15:07  发布人:acx

减小字体 增大字体

///////////////////////////////////////////////////////////////////////////////
//
// FUNCTION: OnMaintUIAfter
//
// EVENT: MaintUIAfter event is sent after file transfer, when end user runs
// installation that has already been installed on the machine. Usually
// this happens through Add/Remove Programs applet.
// In the handler installation usually displays UI that will inform
// end user that maintenance/uninstallation has been completed successfully.
//
///////////////////////////////////////////////////////////////////////////////
function OnMaintUIAfter()
STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;
NUMBER bOpt1, bOpt2;
begin
Disable(STATUSEX);
bOpt1 = FALSE;
bOpt2 = FALSE;
szMsg1 = SdLoadString(IFX_SDFINISH_MAINT_MSG1);
szMsg2 = "";
szOption1 = "";
szOption2 = "";
szTitle = SdLoadString(IFX_SDFINISH_MAINT_TITLE);
SdFinishEx(szTitle,szMsg1,szMsg2,szOption1,szOption2,bOpt1,bOpt2);
return 0;
end;

///////////////////////////////////////////////////////////////////////////////
//
// FUNCTION: OnMoving
//
// EVENT: Moving event is sent when file transfer is started as a result of
// ComponentTransferData call, before any file transfer operations
// are performed.
//
///////////////////////////////////////////////////////////////////////////////
function OnMoving()
STRING szAppPath;
begin
// Set LOGO Compliance Application Path
// TO DO : if your application .exe is in a subfolder of TARGETDIR then add subfolder
szAppPath = TARGETDIR;
RegDBSetItem(REGDB_APPPATH, szAppPath);
RegDBSetItem(REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY);

end;

// --- include script file section ---


function LoginSQL( szTitle,szSqlsvname,szSqluser,szSqlpassword )

STRING szDlg, szTemp;
NUMBER bDone, nId, nMessage, nTemp;
INT hwndDlg;
HWND hwndControl;
begin
szDlg = "DLG_LoginSQLSV";

// record data produced by this dialog
if (MODE=SILENTMODE) then
SdMakeName( szAppKey, szDlg, szTitle, nLoginSQL );
SilentReadData( szAppKey, "Result", DATA_NUMBER, szTemp, nId );
if ((nId != BACK) && (nId != CANCEL)) then
SilentReadData( szAppKey, "szSqlsvname", DATA_STRING, szSqlsvname, nTemp );
SilentReadData( szAppKey, "szSqluser", DATA_STRING, szSqluser, nTemp );
SilentReadData( szAppKey, "szSqlpassword", DATA_STRING, szSqlpassword, nTemp );
endif;

return nId;
endif;

// ensure general initialization is complete
if (!bSdInit) then
SdInit();
endif;

if (EzDefineDialog( szDlg, "", "",DLG_LoginSQLSV ) = DLG_ERR) then
return -1;
endif;

// 在用户选择标准按钮前进行循环
bDone = FALSE;

while (!bDone)

nId = WaitOnDialog( szDlg );//显示对话框
hwndControl = GetDlgItem (hwndDlg, SD_EDIT_SQLSV_NAME);
SetFocus (hwndControl);

switch(nId)
case DLG_INIT:
CtrlSetText( szDlg, SD_EDIT_SQLSV_NAME, szSqlsvname );
CtrlSetText( szDlg, SD_EDIT_SQLSV_USER, szSqluser );
CtrlSetText( szDlg, SD_EDIT_SQLSV_PASSWORD, szSqlpassword );

hwndDlg = CmdGetHwndDlg( szDlg );
SdGeneralInit( szDlg, hwndDlg, STYLE_NORMAL, szSdProduct );

//This function sets the caption for old style dialogs or
//sets the text in the top banner area of win2k style dialogs
SdSetDlgTitle(szDlg, hwndDlg, szTitle);
case SD_EDIT_SQLSV_NAME:
nMessage = CtrlGetSubCommand( szDlg );
if( nMessage = EDITBOX_CHANGE ) then
CtrlGetText( szDlg, SD_EDIT_SQLSV_NAME, szSqlsvname );
endif;
case SD_EDIT_SQLSV_USER:
nMessage = CtrlGetSubCommand( szDlg );
if( nMessage = EDITBOX_CHANGE ) then
CtrlGetText( szDlg, SD_EDIT_SQLSV_USER, szSqluser );
endif;
case SD_EDIT_SQLSV_PASSWORD:
nMessage = CtrlGetSubCommand( szDlg );
if( nMessage = EDITBOX_CHANGE ) then
CtrlGetText( szDlg, SD_EDIT_SQLSV_PASSWORD, szSqlpassword );
endif;
case OK:
nId = NEXT;
bDone = TRUE;

case BACK:
nId = BACK;
bDone = TRUE;

case DLG_ERR:
SdError( -1, "SdWelcome" );
nId = -1;
bDone = TRUE;

case DLG_CLOSE:
SdCloseDlg( hwndDlg, nId, bDone );

default:
// check standard handling
if (SdIsStdButton( nId ) && SdDoStdButton( nId )) then
bDone = TRUE;
endif;
endswitch;

endwhile;

EndDialog( szDlg );
ReleaseDialog( szDlg );

SdUnInit( );

// record data produced by this dialog
SdMakeName( szAppKey, szDlg, szTitle, nLoginSQL );
SilentWriteData( szAppKey, "szSqlsvname", DATA_STRING, szSqlsvname, 0 );
SilentWriteData( szAppKey, "szSqluser", DATA_STRING, szSqluser, 0 );
SilentWriteData( szAppKey, "szSqlpassword", DATA_STRING, szSqlpassword, 0 );
SilentWriteData( szAppKey, "Result", DATA_NUMBER, "", nId );

return nId;

end;

function exeSQLfile( szsqlfilename )
STRING szCmdLine;
NUMBER nTemp;
begin
szCmdLine = SUPPORTDIR ^"osql.exe";
if (LaunchAppAndWait(SUPPORTDIR ^"osql.exe", szsqlfilename,WAIT) < 0) then
MessageBox ("不能运行SQL安装文件.",SEVERE);
endif;

end;

function modifdbdir()
STRING szinstallfile;
NUMBER nvResult,nvLineNumber;
STRING szwindir,svReturnLine;
NUMBER sn,nStartPos;
STRING sz1,sz2,sznewdir;
NUMBER nTemp;
begin
szinstallfile = TARGETDIR ^"install\\createdb.sql";
//替换 DB文件的建立路径
while (nvResult != END_OF_FILE)
nvResult = FileGrep (szinstallfile, "D:\\cycdata\\", svReturnLine,nvLineNumber, RESTART);
//FileDeleteLine(szodbcregfile, nvLineNumber, nvLineNumber);
sn=StrLength (svReturnLine);
nStartPos = StrFind(svReturnLine,"D:\\cycdata\\");
StrSub (sz1, svReturnLine, 0, nStartPos);
StrSub (sz2, svReturnLine, nStartPos+11, sn-nStartPos-11);
sznewdir=sz1+TARGETDIR ^sz2;
FileInsertLine(szinstallfile, sznewdir,nvLineNumber, REPLACE);
sz1="";
sz2="";
sznewdir="";
endwhile;

end;

//////////////////////////////////////////////////////////////////////////////
//
// FUNCTION: OnFileReadOnly
//
// EVENT: FileReadOnly event is sent during file transfer when a read-only
// file is needs to be overwritten or removed.
//
// ARGUMENTS: File - full path of file that is marked as read-only.
//
// RETURN: ERR_YES - the file should be overwritten or removed.
// ERR_NO - the file should not be modified.
//
///////////////////////////////////////////////////////////////////////////////
function OnFileReadOnly(File)
begin
return SdExceptions(READONLY, File);
end;

//////////////////////////////////////////////////////////////////////////////
//
// FUNCTION: OnFileReadOnly
//
// EVENT: FileReadOnly event is sent during file transfer when a read-only
// file is needs to be overwritten or removed.
//
// ARGUMENTS: File - full path of file that is marked as read-only.
//
// RETURN: ERR_YES - the file should be overwritten or removed.
// ERR_NO - the file should not be modified.
//


将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· PHP绘图对象结构设计与应..
· Web2.0中流行的设计元素..
· aspemail的安装及简单示..
· 陈志刚:逐利规则挟持的互..
· Webmail攻防实战(2)
· 一个用session传递对象的..
· Illustrator绘规则形变过..
· MSSQL服务器安装时提示挂..
· 千张图片自动处理—谈Ph..
· 一段加密函数(base64)..
· 在Eclipse3.2上部署JSP全..
· 利用PHP和CSS改变网页文..
· 廊坊港湾论坛社区50M/as..
· 马与云结合 曲线与通道综..
· 2004输入文本字段和动态..
· 网上出现分手店出售"死玫..
相关文章
· 看人家用使用InstallShield..
· 看人家用使用InstallShield..
· 看人家用使用InstallShield..
· 看人家用使用InstallShield..
· 看人家用使用InstallShield..
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号