使用InstallShield制作ASP安装程序

来源(久久网络-网络学堂-网络编程)

From: http://www.99net.net/study/prog/6711155.htm

使用InstallShield制作ASP安装程序

--------------------------------------------------------------------------------
2003-4-10 14:46:25

我现在在做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 ---

 

Link: http://www.asm32.net/article_details.aspx?id=804


浏览次数 450 发布时间 2006/5/3 23:09:37 从属分类 网络编程 【评论】【 】【打印】【关闭
 
| www.asm32.net | 2006版 | 资料中心 | linux | asm/asm32 | C/C++ | VC++ | java | Python | 书签 | ASP.Net书签 | 京ICP备09029108号-1