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

installshield|程序

   我现在在做ASP的安装程序,这样可以方便用户的使用。我使用的InstallShield版本是InstallShield Professional—Standard Edition6.3。
  我没有用过这个东东,问题如下:
  
  问题一
  通过Project Wizard-generated script 做好了COPY打包工作。可是6.3版本的好象不支持主体Program...Endprogram,因为我看COPY打包的Script脚本就是通过两个Fuction实现的。所以我的脚本加不进去,除非在这两个Fuction中调用!请问是不是6.3版本不能使用Program...Endprogram,如果可以使用的话,应该如何去用?
  
  问题二
  想在COPY完ASP程序后直接实现IIS的设置,也就是通过安装程序就可以完成,不需要手动设置,请问怎样去实现呢?
  
  以下就是我用Project Wizard-generated script 做好的两个Fuction,他们不用调用也不用声明定义就自动执行,真是搞不懂呀!我的Script该加在什么地方呢?
  // Include header files
  
  #include "ifx.h"
  function OnFirstUIBefore()
  number nResult,nSetupType;
  string szTitle, szMsg;
  string szLicenseFile, szQuestion;
  string szName, szCompany, szSerial;
  string szTargetPath;
  string szDir;
  string szComponents, szTargetdir;
  number nLevel;
  LIST listStartCopy;
  number nvSize;
  begin
  nSetupType = TYPICAL;
  TARGETDIR = "C:"^"inetpub" ^"wwwroot" ^@PRODUCT_NAME;
  szDir = TARGETDIR;
  szName = "";
  szCompany = "";
  szSerial = "";
  
  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, szName, szCompany, szSerial );
  if (nResult = BACK) goto Dlg_SdLicense;
  
  Dlg_SdAskDestPath:
  szTitle = "";
  szMsg = "please select setup folder";
  nResult = SdAskDestPath( szTitle, szMsg, szDir, 0 );
  TARGETDIR = szDir;
  if (nResult = BACK) goto Dlg_SdRegisterUserEx;
  
  Dlg_SetupType:
  szTitle = "";
  szMsg = "";
  nResult = SetupType ( szTitle , szMsg , "" , nSetupType , 0 );
  if (nResult = BACK) then
  goto Dlg_SdAskDestPath;
  else
  nSetupType = nResult;
  if (nSetupType != CUSTOM) then
  szTargetPath = TARGETDIR;
  nvSize = 0;
  ComponentCompareSizeRequired(MEDIA,szTargetPath,nvSize);
  if (nvSize != 0) then
  MessageBox( szSdStr_NotEnoughSpace, WARNING );
  goto Dlg_SetupType;
  endif;
  endif;
  endif;
  
  Dlg_SdComponentTree:
  if ((nResult = BACK) && (nSetupType != CUSTOM)) goto Dlg_SetupType;
  szTitle = "";
  szMsg = "";
  szTargetdir = TARGETDIR;
  szComponents = "";
  nLevel = 2;
  if (nSetupType = CUSTOM) then
  nResult = SdComponentTree(szTitle, szMsg, szTargetdir, szComponents, nLevel);
  if (nResult = BACK) goto Dlg_SetupType;
  endif;
  
  Dlg_ObjDialogs:
  nResult = ShowObjWizardPages(nResult);
  if (nResult = BACK) goto Dlg_SdComponentTree;
  
  Dlg_SdStartCopy:
  szTitle = "";
  szMsg = "";
  listStartCopy = ListCreate( STRINGLIST );
  nResult = SdStartCopy( szTitle, szMsg, listStartCopy );
  ListDestroy(listStartCopy);
  if (nResult = BACK) goto Dlg_ObjDialogs;
  
  // setup default status
  SetStatusWindow(0, "");
  Enable(STATUSEX);
  StatusUpdate(ON, 100);
  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
  szAppPath = TARGETDIR;
  RegDBSetItem(REGDB_APPPATH, szAppPath);
  RegDBSetItem(REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY);
  end;
  // --- include script file section ---

时间: 2024-08-19 22:33:18

用ASP制作InstallShield安装程序(1)的相关文章

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

installshield|程序    6.3版好象是用事件驱动的:   //////////////////////////////////////////////////////   //   // 函数: OnFirstUIBefore   //   // 事件: FirstUIBefore event is sent when installation is run for the first   // time on given machine. In the handler inst

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

installshield|程序   ///////////////////////////////////////////////////////////////////////////////   //   // FUNCTION: OnMaintUIAfter   //   // EVENT: MaintUIAfter event is sent after file transfer, when end user runs   // installation that has alrea

一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(五) --补遗 (已补充第三部分完整版)

原文:一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(五) --补遗 (已补充第三部分完整版) 上一篇:一个完整的安装程序实例-艾泽拉斯之海洋女神出品(四) --高级设置二 转载时请务必保留转载出处和由艾泽拉斯之海洋女神出品的字样:如需刊登,请与作者联系.little_fairycat@126.com. 第三部分:其他 1. 修改显示界面的风格 Installshield 原始安装界面我始终觉得很丑,幸好Installscript 是可以不用写代码就可以改界面风格的.

用Wix手工编辑XML制作MSI安装程序,怎样保证安装新版本时候强制卸载旧版本,急急急!!!

问题描述 ★★我的问题如下,为了能说清楚,我写了比较长,希望能耐心看看★★本程序是一个网络监控客户端程序,安装好后会在系统中注册一个服务,为了和服务器端通信.我只是负责制作MSI安装程序,有人专门做开发,当然我对于VC++一无所知.按照常规我在wix的wxs中进行相应编辑设置,生成第一版MSI程序setup1.msi,安装在系统中,菜单显示版本号:1.4.0.3之后因为程序做了修改,所以我把版本号和ProductCode进行修改,再次生成第二版MSI安装程序setup2.msi这次根据客户要求,

如何使用ASP制作类似安装向导的页面?

安装向导|页面|安装向导 如何使用ASP制作类似安装向导的页面?面临的主要问题何在:1.界面和一个Windows Wizard完全一样,有Next和Back按钮2.用户可以使用Back按钮回到以前的任何一步,并且能够改变以前任何一步中已经选择的内容3.form必须记住所有填入的内容4.不能够使用数据库5.不能够使用Sessions,防止如果Sessiosn失效后用户的所有输入丢失,不幸的是,也不能够使用cookie因为很多拥护经常关掉浏览器的Cookie选项.6.可移植性要好,因为它要适应安装步

制作asp.net的安装程序

asp.net|程序 1.打开VS.NET开发环境;2."文件"->"新建"->"项目";3."项目类型"选"安装和部署项目","模板"选"Web安装项目",然后填写"名称"和"位置",最后"确定";4.鼠标右击"解决方案",选择"添加"->"

VS2008如何制作一个安装程序,并且判断是否安装别的软件,如果没有,则需先安装别的软件

问题描述 大侠们:小弟现在想在VS2008上创建一个安装程序,但是这个安装程序得判断是否安装了a.exe文件,如果没有责先进行a.exe文件的安装,安装完成之后紧接着安装本项目的程序.请问该如何实现呢? 解决方案 解决方案二:1新建安装部署项目打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.2安装向导关闭后打开安装向导,点击下一步,或者直接点击完成.3开始制作安装向导完成后即可进入项目文件夹:双击"应用程序文件夹"在右边

asp制作的日历程序

纯ASP打造的日历程序,可自行美化,这里仅提供最简单的CSS样式... <style>body{font-size:12px; margin:20px 0 0 20px; padding:0}tr,td{text-align:center;}</style><%'================================='说明:日历文件'================================='取出对应的年月博客日志数据'==================

制作C#安装程序,数据库打包,下面是安装时附加数据库代码,为何不行?

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Configuration.Install;usingSystem.Data;usingSystem.Data.SqlClient;namespaceInstallDB{[RunInstaller(true)]publicpartialclassInstallerDB:Installer{publicInstallerDB