使用InstallShield制作ASP安装程序

来源:互联网 发布:淘宝分期付款怎么还钱 编辑:程序博客网 时间:2024/04/29 21:02

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

原创粉丝点击