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

80酷酷网    80kuku.com

  installshield|程序//////////////////////////////////////////////////////////////////////////////
//
//  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, "");

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: