您的位置:首页 > 编程语言 > ASP

使用InstallShield制作ASP安装程序

2004-09-01 13:49 976 查看
我现在在做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 ---
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: