• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

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

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 16次 | 进入软件测试论坛讨论

领测软件测试网 //////////////////////////////////////////////////////////////////////////////
//
//  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 ---


延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网