WEB开发网
开发学院WEB开发ASP 使用InstallShield制作ASP安装程序(6) 阅读

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

 2002-02-08 11:08:02 来源:WEB开发网   
核心提示://FUNCTION:OnFirstUIAfterEVENT:FirstUIAfter event is sent after file transfer, when installation //is run for the first time on given machine. In this event han
//////////////////////////////////////////////////////////////////////////////
//
// 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 ---

Tags:使用 InstallShield 制作

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接