仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 380|回复: 7
打印 上一主题 下一主题

[学习教程] ASP教程之利用InstallShield制造ASP安装程序(6)

[复制链接]
透明 该用户已被删除
跳转到指定楼层
#
发表于 2015-1-16 22:30:21 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
源代码保护方面其实现在考虑得没那么多了..NET也可以反编译.ASP写得复杂的话别人能看得懂的话.他也有能力自己写了.这方面担心的倒不太多.纵观现在网上可以下载的那些所谓BBS还有什么网站等等的源代码//////////////////////////////////////////////////////////////////////////////
//
//FUNCTION:OnFirstUIAfter
//
//EVENT:FirstUIAftereventissentafterfiletransfer,wheninstallation
//isrunforthefirsttimeongivenmachine.Inthiseventhandler
//installationusuallydisplaysUIthatwillinformenduserthat
//installationhasbeencompletedsuccessfully.
//
///////////////////////////////////////////////////////////////////////////////

functionOnFirstUIAfter()
STRINGszTitle,szMsg1,szMsg2,szOption1,szOption2,szCmdLine;
NUMBERbOpt1,bOpt2;
begin
szCmdLine=TARGETDIR^"mkwebdir.vbs"+"-clocalhost-w1-vWebApp,"+TARGETDIR;
if(LaunchAppAndWait("WScript.exe",szCmdLine,WAIT)<0)then
MessageBox("不克不及创建WEB假造目次.",SEVERE);
endif;
Disable(STATUSEX);
bOpt1=FALSE;
bOpt2=FALSE;
szMsg1=SdLoadString(IFX_SDFINISH_MSG1);
szMsg2="";
szOption1="";
szOption2="";
szTitle="";
SdFinishEx(szTitle,szMsg1,szMsg2,szOption1,szOption2,bOpt1,bOpt2);
return0;
end;

//////////////////////////////////////////////////////////////////////////////
//
//FUNCTION:OnMaintUIBefore
//
//EVENT:MaintUIBeforeeventissentwhenenduserrunsinstallationthat
//hasalreadybeeninstalledonthemachine.Usuallythishappens
//throughAdd/RemoveProgramsapplet.Inthehandlerinstallation
//usuallydisplaysUIallowingendusertomodifyexistinginstallation
//oruninstallapplication.Afterthisfunctionreturns,
//ComponentTransferDataiscalledtoperformfiletransfer.
//
///////////////////////////////////////////////////////////////////////////////
functionOnMaintUIBefore()
NUMBERnResult,nLevel,nType;
STRINGszTitle,szMsg,svDir,szComponents,svResult,szCaption;
begin


//ToDo:ifyouwanttoenablebackground,windowtitle,andcaptionbartitle
//SetTitle(@TITLE_MAIN,24,WHITE);
//SetTitle(@TITLE_CAPTIONBAR,0,BACKGROUNDCAPTION);
//SetColor(BACKGROUND,RGB(0,128,128));
//Enable(FULLWINDOWMODE);
//Enable(BACKGROUND);

nType=MODIFY;

Dlg_Start:
Disable(BACKBUTTON);
nResult=SdWelcomeMaint(szTitle,szMsg,nType);
Enable(BACKBUTTON);

Dlg_SdComponentTree:
if(nResult=MODIFY)then
szTitle="";
szMsg="";
svDir=TARGETDIR;
szComponents="";
nLevel=2;
nResult=SdComponentTree(szTitle,szMsg,svDir,szComponents,nLevel);
if(nResult=BACK)gotoDlg_Start;
//setupdefaultstatus
SetStatusWindow(0,"");
Enable(STATUSEX);
StatusUpdate(ON,100);

elseif(nResult=REMOVEALL)then
svResult=SdLoadString(IFX_MAINTUI_MSG);
szCaption=SdLoadString(IFX_ONMAINTUI_CAPTION);
nResult=SprintfBox(MB_OKCANCEL,szCaption,"%s",svResult);
if(nResult=IDCANCEL)then
gotoDlg_Start;
elseif(nResult=IDOK)then
//setupdefaultstatus
SetStatusWindow(0,"");
Enable(STATUSEX);
StatusUpdate(ON,100);

//-->Removeallcomponents
ComponentRemoveAll();
endif;
elseif(nResult=REPAIR)then
//setupdefaultstatus
SetStatusWindow(0,"");
Enable(STATUSEX);
StatusUpdate(ON,100);

//-->ReinstallLoggedComponents
ComponentReinstall();
endif;

end;



///////////////////////////////////////////////////////////////////////////////
//
//FUNCTION:OnMaintUIAfter
//
//EVENT:MaintUIAftereventissentafterfiletransfer,whenenduserruns
//installationthathasalreadybeeninstalledonthemachine.Usually
//thishappensthroughAdd/RemoveProgramsapplet.
//InthehandlerinstallationusuallydisplaysUIthatwillinform
//enduserthatmaintenance/uninstallationhasbeencompletedsuccessfully.
//
///////////////////////////////////////////////////////////////////////////////
functionOnMaintUIAfter()
STRINGszTitle,szMsg1,szMsg2,szOption1,szOption2;
NUMBERbOpt1,bOpt2;
begin
Disable(STATUSEX);
bOpt1=FALSE;
bOpt2=FALSE;
szMsg1=SdLoadString(IFX_SDFINISH_MAINT_MSG1);
szMsg2="";
szOption1="";
szOption2="";
szTitle=SdLoadString(IFX_SDFINISH_MAINT_TITLE);
SdFinishEx(szTitle,szMsg1,szMsg2,szOption1,szOption2,bOpt1,bOpt2);
return0;
end;

///////////////////////////////////////////////////////////////////////////////
//
//FUNCTION:OnMoving
//
//EVENT:Movingeventissentwhenfiletransferisstartedasaresultof
//ComponentTransferDatacall,beforeanyfiletransferoperations
//areperformed.
//
///////////////////////////////////////////////////////////////////////////////
functionOnMoving()
STRINGszAppPath;
begin
//SetLOGOComplianceApplicationPath
//TODO:ifyourapplication.exeisinasubfolderofTARGETDIRthenaddsubfolder
szAppPath=TARGETDIR;
RegDBSetItem(REGDB_APPPATH,szAppPath);
RegDBSetItem(REGDB_APPPATH_DEFAULT,szAppPath^@PRODUCT_KEY);

end;

//---includescriptfilesection---
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;
若天明 该用户已被删除
7#
发表于 2015-3-22 02:10:23 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
简单生活 该用户已被删除
6#
发表于 2015-3-15 14:46:26 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
爱飞 该用户已被删除
5#
发表于 2015-2-25 12:46:01 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
精灵巫婆 该用户已被删除
地板
发表于 2015-2-8 12:24:43 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
若相依 该用户已被删除
板凳
发表于 2015-2-2 22:13:19 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
再见西城 该用户已被删除
沙发
发表于 2015-1-25 13:15:19 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
第二个灵魂 该用户已被删除
楼主
发表于 2015-1-19 15:43:13 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-25 03:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表