| ////////////////////////////////////////////////////////////////////////////// //
 // 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 user that
 // installation has been completed successfully.
 //
 ///////////////////////////////////////////////////////////////////////////////
 function OnFirstUIAfter()
 STRING szTitle, szMsg1, szMsg2, szOption1, szOption2,szCmdLine;
 NUMBER bOpt1, bOpt2;
 begin
 szCmdLine = TARGETDIR ^"mkwebdir.vbs "+"-c localhost -w 1 -v WebApp," + TARGETDIR ;
 if (LaunchAppAndWait("WScript.exe", szCmdLine,WAIT) < 0) then
 MessageBox ("不能建立WEB 虚拟目录.",SEVERE);
 endif;
 Disable(STATUSEX);
 bOpt1 = FALSE;
 bOpt2 = FALSE;
 szMsg1 = SdLoadString(IFX_SDFINISH_MSG1);
 szMsg2 = "";
 szOption1 = "";
 szOption2 = "";
 szTitle = "";
 SdFinishEx(szTitle,szMsg1,szMsg2,szOption1,szOption2,bOpt1,bOpt2);
 return 0;
 end;
 //////////////////////////////////////////////////////////////////////////////
 //
 // FUNCTION: OnMaintUIBefore
 //
 // EVENT: MaintUIBefore event is sent 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 allowing end user to modify existing installation
 // or uninstall application. After this function returns,
 // ComponentTransferData is called to perform file transfer.
 //
 ///////////////////////////////////////////////////////////////////////////////
 function OnMaintUIBefore()
 NUMBER nResult,nLevel,nType;
 STRING szTitle,szMsg,svDir,szComponents,svResult,szCaption;
 begin
 
 //To Do: if you want to enable background, window title, and caption bar title
 // SetTitle( @TITLE_MAIN, 24, WHITE );
 // SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION );
 // SetColor(BACKGROUND,RGB (0, 128, 128));
 // Enable( FULLWINDOWMODE );
 // Enable( BACKGROUND );
 nType = MODIFY;
 Dlg_Start:
 Disable(BACKBUTTON);
 nResult = SdWelcomeMaint(szTitle, szMsg, nType);
 Enable(BACKBUTTON);
 Dlg_SdComponentTree:
 if (nResult = MODIFY) then
 szTitle = "";
 szMsg = "";
 svDir = TARGETDIR;
 szComponents = "";
 nLevel = 2;
 nResult = SdComponentTree(szTitle, szMsg, svDir, szComponents, nLevel);
 if (nResult = BACK) goto Dlg_Start;
 // setup default status
 SetStatusWindow(0, "");
 Enable(STATUSEX);
 StatusUpdate(ON, 100);
 elseif (nResult = REMOVEALL) then
 svResult = SdLoadString(IFX_MAINTUI_MSG);
 szCaption = SdLoadString(IFX_ONMAINTUI_CAPTION);
 nResult = SprintfBox(MB_OKCANCEL,szCaption,"%s",svResult);
 if (nResult = IDCANCEL) then
 goto Dlg_Start;
 elseif(nResult = IDOK) then
 // setup default status
 SetStatusWindow(0, "");
 Enable(STATUSEX);
 StatusUpdate(ON, 100);
 //-->Remove all components
 ComponentRemoveAll();
 endif;
 elseif (nResult = REPAIR) then
 // setup default status
 SetStatusWindow(0, "");
 Enable(STATUSEX);
 StatusUpdate(ON, 100);
 //-->Reinstall Logged Components
 ComponentReinstall();
 endif;
 end;
 
 ///////////////////////////////////////////////////////////////////////////////
 //
 // 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 ---
 
 |