• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
看人家用使用InstallShield制作ASP安装程序(4)
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
看人家用使用InstallShield制作ASP安装程序(4)
软件发布 看人家用使用InstallShield制作ASP安装程序(4)
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 编程技术 >> ASP & ASP.NET教程 >> 看人家用使用InstallShield制作ASP安装程序(4)

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

添加时间: 2006-5-4 23:36:13  作者: ASP教程  阅读次数:46   来源: http://d9soft.com

        ///////////////////////////////////////////////////////////////////////////////
//
// 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.
//

 

上下文章:

 

上一篇文章: 看人家用使用InstallShield制作ASP安装程序(3) 下一篇文章: 看人家用使用InstallShield制作ASP安装程序(5)

相关文章:

  • 彻底DIY Vista主题制作教程(上)
  • 教你如何用PhotoImpact 来制作逼真的温度计
  • 使用搜狗音乐盒下载歌曲,快带飚的体验
  • 教你如何使用Procmail 过滤mail病毒
  • Cyrus IMAP邮件服务器安装与配置(三)

相关软件:

  • 名片制作专家 6.5.6
  • 全国计算机等级考试模拟软件(2006年全年使用)二级Visual Basic V9.0
  • FTP远程文件同步更新程序 1.0.0.0
  • Flash相册制作大师 2008 V6.1
  • 比特铃手机漫画书制作工具 1.01
  • 关闭有害木马端口程序

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • 九阳神功 ASP.NET技术的学习顺序
  • 在ASP与ASP.NET之间共享对话状态(...
  • 17种正则表达式
  • 关闭窗口时保存数据的办法
  • 一个新的JMail(4.3版本)发送代码
  • 一个很简单的验证码程序
  • 用正则解析图片地址,并利用XMLHTT...
  • 利用ASP+JMAIL进行邮件群发的新思...
  • ASP操作Excel技术总结
  • MD5算法研究(2)

ASP & ASP.NET教程阅读排行

  • 用纯ASP代码实现图片上传
  • ASP数据库简单操作教程
  • aspjpeg组件高级使用方法介绍
  • 一个拷贝整个文件夹(包括子文件夹...
  • 利用ASP技术实现文件直接上传功能
  • 几例在ASP存储过程的使用方法
  • 一个很简单的验证码程序
  • 创建一个ASP通用分页类(一)
  • ASP操作Excel技术总结
  • 一个新的JMail(4.3版本)发送代码

编程技术阅读总排行

  • VB入门教程之一
  • Java连接数据库实例
  • 第二章 PowerBuilder 入门之创建新...
  • VC++之List Box/Check List Box控...
  • 第一章 什么是PowerBuilder
  • VC++ List Ctrl控件
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有