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