关于我们 广告服务 社区论坛
设为首页 加入收藏

行业新闻
服 务 器
模版下载
建站指南
冲浪宝典
办公软件
网站运营
操作系统
QQ 专题
网页制作
安全防御
视频教程
网络编程
SEO专区
软件下载
图像设计
Cisco
网页特效
Wap 技术
联盟赚钱
网页素材
 首页 | 企业建站 | 网页制作 | 网站运营 | 网络编程 | 图像设计 | 冲浪宝典 | 操作系统 | SEO专区 | 联盟赚钱 | Cisco

欢迎来到e天下网络首页>>网络编程>>ASP>>正文|用ASP制作InstallShield安装程序(4)

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

[ 来路:21kn.com    时间:2007-7-8 0:43:46    点击: ]

 

   ////////////////////////////////////////////////////////////////////////////////
  //
  // IIIIIII SSSSSS
  // II SS InstallShield (R)
  // II SSSSSS (c) 1996-1999, InstallShield Software Corporation
  // II SS (c) 1990-1996, InstallShield Corporation
  // IIIIIII SSSSSS All Rights Reserved.
  //
  //
  // This code is generated as a starting setup template. You should
  // modify it to provide all necessary steps for your setup.
  //
  //
  // File Name: Setup.rul
  //
  // Description: InstallShield script
  //
  // Comments: This template script performs a basic setup. With minor
  // modifications, this template can be adapted to create
  // new, customized setups.
  //
  ////////////////////////////////////////////////////////////////////////////////
  
  
  // Include header files
  
  #include "ifx.h" //DO NOT REMOVE
  
  ////////////////////// string defines ////////////////////////////
  
  //////////////////// installation declarations ///////////////////
  
  // ----- DLL function prototypes -----
  
  
  // your DLL function prototypes
  
  
  // ---- script function prototypes -----
  
  
  // your script function prototypes
  
  // your global variables
  
  
  //////////////////////////////////////////////////////////////////////////////
  //
  // FUNCTION: OnFirstUIBefore
  //
  // EVENT: FirstUIBefore event is sent when installation is run for the first
  // time on given machine. In the handler installation usually displays
  // UI allowing end user to specify installation parameters. After this
  // function returns, ComponentTransferData is called to perform file
  // transfer.
  //
  ///////////////////////////////////////////////////////////////////////////////
  function OnFirstUIBefore()
  NUMBER nResult,nSetupType;
  STRING szTitle, szMsg;
  STRING szLicenseFile, szQuestion;
  STRING svName, sVCompany, svSerial;
  STRING szDir;
  STRING szfolder;
  STRING szComponents, szTargetdir;
  NUMBER nLevel;
  
  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 );
  // Enable( FULLWINDOWMODE );
  // Enable( BACKGROUND );
  // SetColor(BACKGROUND,RGB (0, 128, 128));
  
  //默认值设定
  TARGETDIR = "C:\\Inetpub\\wwwroot\\WebApp";
  szDir = TARGETDIR;
  SHELL_OBJECT_FOLDER = @FOLDER_NAME;
  svName = "Daniel";
  svCompany = "N/A";
  svSerial = "111-1111111";
  
  Dlg_Start:
  // beginning of dialogs label
  
  Dlg_SdWelcome:
  szTitle = "";
  szMsg = "";
  nResult = SdWelcome( szTitle, szMsg );
  if (nResult = BACK) goto Dlg_Start;
  
  Dlg_SdLicense:
  szLicenseFile = SUPPORTDIR ^ "license.txt";
  szTitle = "";
  szMsg = "";
  szQuestion = "";
  nResult = SdLicense( szTitle, szMsg, szQuestion, szLicenseFile );
  if (nResult = BACK) goto Dlg_SdWelcome;
  
  Dlg_SdReGISterUserEx:
  szMsg = "";
  szTitle = "";
  nResult = SdRegisterUserEx( szTitle, szMsg, svName, svCompany, svSerial );
  //验证序列号
  if (svSerial !="111-1111111") then
  MessageBox ("InValid Serial!",WARNING);
  goto Dlg_SdRegisterUserEx;
  endif;
  if (nResult = BACK) goto Dlg_SdLicense;
  
  Dlg_SdAskDestPath:
  szTitle = "";
  szMsg = "";
  nResult = SdAskDestPath( szTitle, szMsg, szDir, 0 );
  TARGETDIR = szDir;
  if (nResult = BACK) goto Dlg_SdRegisterUserEx;
  
  Dlg_SdComponentTree:
  if ((nResult = BACK) && (nSetupType != CUSTOM)) goto Dlg_SdAskDestPath;
  szTitle = "";
  szMsg = "";
  szTargetdir = TARGETDIR;
  szComponents = "";
  nLevel = 2;
  if (nSetupType = CUSTOM) then
  nResult = SdComponentTree(szTitle, szMsg, szTargetdir, szComponents, nLevel);
  if (nResult = BACK) goto Dlg_SdAskDestPath;
  endif;
  
  Dlg_SdSelectFolder:
  szfolder = SHELL_OBJECT_FOLDER;
  szTitle = "";
  szMsg = "";
  nResult = SdSelectFolder( szTitle, szMsg, szfolder );
  SHELL_OBJECT_FOLDER = szfolder;
  if (nResult = BACK) goto Dlg_SdComponentTree;
  
  
  // setup default status
  SetStatusWindow(0, "");
  Enable(STATUSEX);
  StatusUpdate(ON, 100);
  
  return 0;
  
  end;

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

::::站长友情提示:多花一分钟学点什么都好::::

 

上一篇:Asp+Sql 对数据库的各种操作  下一篇:用ASP制作InstallShield安装程序(3)

 ::热点信息::

 

= = 免责声明 = =

① 欢迎转载我网所刊信息,请注明“来源:E天下网络”。
② 凡本网注明“来源:XXX(非E天下网络)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。
※联系方式:Airtofly@163.com

::推荐文章::

 

ASP教程:详细学习ASP的内置对象

::图像设计::

 

动态图片搜索家——GIF RUNN
软件搜索利器——FileFerret
实例说明构图要讲规律
Character Builder让你尽展靓
全景图速成者Cool360
三维模型速成工具——Canoma
剪贴专家SmartBoard 32
新世纪的图像处理利器——Ph
更多内容..

 

 

关于我们 广告服务 友情链接 合作伙伴 社区论坛 免责声明

Copyright © 2007   21kn.com Inc. All rights reserved.e天下网络工作室

网站白天客服QQ:26875416 (非24小时)  合作QQ:597004688    粤ICP备06026423号