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

2016-01-29 17:43 0 1 收藏

使用InstallShield制作ASP安装程序(4),使用InstallShield制作ASP安装程序(4)

【 tulaoshi.com - ASP 】

  ///////////////////////////////////////////////////////////////////////////////
//
// 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;
bDo

来源:https://www.tulaoshi.com/n/20160129/1502627.html

延伸阅读
标签: ASP
////////////////////////////////////////////////////////////////////////////// // // FUNCTION: OnFirstUIAfter // // EVENT: 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 use...
标签: ASP
我现在在做ASP的安装程序,这样可以方便用户的使用。我使用的InstallShield版本是InstallShield Professional—Standard Edition6.3。 我没有用过这个东东,问题如下: 问题一 通过Project Wizard-generated script 做好了COPY打包工作。可是6.3版本的好象不支持主体Program...Endprogram,因为我看COPY打包的Script脚本就是通过两个Fuction...
标签: ASP
#include "ifx.h" //不能移动 ////////////////////////////////////////////////////////////////////////////// // 用InstallShield 进行 ASP 软件的打包和自动安装 // 原创作者: 贾俊 (Jaron) // 网址: http://www.jiangdu.net // 邮件: jaron@jdinfo.net // 首次发表于网易,ChinaASP,ASPHouse //////////////////////////////////////////...
标签: ASP
如何使用ASP制作类似安装向导的页面? 面临的主要问题何在: 1。界面和一个Windows Wizard完全一样,有Next和Back按钮 2。用户可以使用Back按钮回到以前的任何一步,并且能够改变以前任何一步中已经选择的内容 3。form必须记住所有填入的内容 4。不能够使用数据库 5。不能够使用Sessions,防止如果Sessiosn失效后用户的所有输入丢失,不幸的是,...
标签: ASP
  前几天大哥对我说,使用asp真麻烦,编译环境实在是差劲,他总是在vb里面写好调试好代码然后在把代码粘贴到asp程序中,为此,我在这提出一个解决之道。使用VB接替ASP所有的对象,在VB中编写纯粹的ASP程序。 大家应该都知道,其实asp中的好多组件都是使用VB编写出来的,但是让大家感到很不方便的是如何使用asp固有的几个组件,例如Re...

经验教程

974

收藏

70
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部