FAQ--AspApp企业版常见问题与回答
******如果您发现字体太小，无法阅读本文档，请使用IE的菜单“查看-文字大小-较大或者最大”来查看****** 问题列表：
0、AspApp生成的加密文件是否可以发布到由Internet虚拟主机空间提供商提供的Asp虚拟主机上使用?
1、AspApp可以加密一个文件夹下子文件夹里的.asp程序吗？
2、asp中调用了.dll和.ocx文件，AspApp加密后该ASP文件能用吗？
3、用微软的MS Script Encoder screnc.exe加密后，再用AspApp的方法加密后程序可用吗？
4、AspApp企业版支持IIS6(Win2003 Server)吗？
5、为什么有时在某些机器的Win2k, NTFS下不可以正常使用Demo呢？
6、AspApp支持JavaScript吗？
7、AspApp可以加入定制功能吗？比如我要求在AspApp软件中不出现作者的版权信息，便于我拿到我的客户那儿安装运行。
8、AspApp企业版产生的加密文件可以在IIS的主(根)目录中使用吗？
9、我已经为我的机器申请了注册码，当我发行自己的加密产品时，是否也需要在我的客户的WebServer上再次申请注册呢？
10、AspApp企业版注册后在使用上是否还有时间或者次数的限制？AspApp企业版中是否存在“后门”？
11、AspApp企业版与专业版相比，加密算法的加密强度有何不同？
12、AspApp企业版对同一台机器上使用AspApp企业版制作的虚拟目录有无数量上的限制？
13、请问企业版和专业版之间有什么区别？
14、如果操作不当，AspApp企业版会影响对IIS中其它虚拟目录的访问吗?
15、是否可以在一台计算机中同时使用企业版与专业版?
16、AspApp是否支持Application对象?
17、我的Asp网站中使用了FSO对象，有什么需要注意的地方呢？
18、安装AspApp企业版后，对系统有何影响？
19、AspApp是否支持使用了Access、SQL Server或Oracle数据库的ASP脚本文件？
20、为什么AspApp加密后的代码在运行时有些杀毒软件会认为是"未知病毒"？
21、我希望不使用机器码、注册码的方式来注册AspApp，因为这样与机器绑定，在工作中实在是不方便。有什么办法解决吗？
22、如果使用本软件附带的DEMO例子程序来演示AspApp软件的功能？
23、为什么有些时候加密后的网页，如果不访问数据没有问题，而如果有访问数据库的代码就会报错？
24、为了避免数据库连接字符串在加密后被固定死而无法修改，如何使用Application对象来保存数据库连接字符串？
25、有些时候使用ASPAPP加密，空格丢失，导致网页布局变形，如何处理？
26、USB加密狗版本的ASPAPP是否一定要给我的每一个ASP系统用户发放一个USB加密狗才行？
27、我使用的是未注册的试用版本，但是加密带有框架的页面时总是出错，为什么？
28、我使用的是未注册的试用版本，我的某一个页面使用ASP文件动态输出图片的方式来生成数字验证码，但为什么图片无法显示？
29、加密时报告“编译失败！文件 aaa.asp 或者相关文件中的For Each语句中,不能使用Item, 即不能使用For Each Item In XXXX形式的语句”，这个是什么意思？
30、系统默认情况下，没有注册组件就访问加密文件会报错。能不能加一个判断，没有发现组件就给出一个提示或者跳转到别的提示文件？
Q:0、AspApp生成的加密文件是否可以发布到由Internet虚拟主机空间提供商提供的Asp虚拟主机上使用? A:目前版本的AspApp生成的加密文件不可以发布到由Internet虚拟主机空间提供商提供的Asp虚拟主机上使用，除非该虚拟主机上允许执行DLL文件的注册服务。所以一般情况是，AspApp主要用于您的客户具有独立主机的情形下，比如您的客户有自己的Internet WWW主机服务器，或者您的客户是准备开发一套用于Intranet(企业内联网)的网站程序。但是，AspApp可以用于制作您所开发的所有网站程序的演示版本、试用版本、功能限制版本等。使用AspApp所提供的这些功能，Asp程序员也可以开发、发布属于自己的Asp共享软件了。 无需注册DLL文件的Asp脚本加密软件正在紧张开发中，将在不久的将来发布，敬请关注。
Q:1、AspApp可以加密一个文件夹下子文件夹里的.asp程序吗？ A:可以的。AspApp可以把一个目录及其子目录中所有.asp文件加密，也可以保留指定的某些.asp文件不进行加密。但是需要注意的是， 如果某一个.asp文件没有被加密，那么这个文件所有引用到的文件都不能被加密。比如：a.asp文件中如果有如下的语句： <!-- #include file = "b.asp" --> <!-- #include file = "c.css" --> ...... <% ...... server.transfer("d.asp") ...... %> 如果不把a.asp加密，那么，b.asp、c.css和d.asp也不能被加密。 如果a.asp被加了密，那么，b.asp、c.css和d.asp是否要加密完全由您决定，可以加密也可以不加密。 如果a.asp已经被加了密，而b.asp、c.css和d.asp中的一些没有被加密。而后您又修改了后面 两个文件中的一个，那么您并不需要对a.asp重新加密，这是新的3.0版本区别于以前版本的一个重要特征。
Q:2、asp中调用了.dll和.ocx文件，AspApp加密后该ASP文件能用吗？ A:可以用。 但是，.dll和.ocx文件需要注册的话，还是照样要注册。
Q:3、用微软的MS Script Encoder screnc.exe加密后，再用AspApp的方法加密后程序可用吗？ A:不可以用。 必须把您的ASP源文件拿来加密，而不可以把经过其它加密压缩软件处理过的.asp文件拿来加密。
Q:4、AspApp企业版支持IIS6(Win2003 Server)吗？ A:我们已经经过充分的测试，表明AspApp企业版完全支持IIS6。 IIS 6.0 可以用以下两种隔离模式之一运行： IIS 5.0 隔离模式 IIS 6.0 辅助进程隔离模式 您应该以 IIS5.0 隔离模式来运行 IIS6.0。设置方法是在IIS管理器的"网站"的右键菜单"属性-->服务"中，选中"以IIS5.0隔离模式运行www服务"，并且在IIS管理器的"Web服务扩展"中选中"Active Server Pages"，点击“允许”。 对于某一些Windows2003的环境下，虽然已经注册了AspAppG.dll组件，但是在运行时总是报告“请注册组件”，此时请按照如下方法来处理： 1，注册组件 AspAppG.DLL 2，windows2003的开始菜单-运行中，敲入regedit，然后找到HKEY_CLASSES_ROOT\AspAppGX.AspDecoder 项目，右击它，在“权限”中，加入everyone和internet来宾帐号(IUSR...)用户，点击确定，然后重新启动IIS即可！
Q:5、为什么有时在某些机器的Win2k, NTFS下不可以正常使用Demo呢？ A:这与您在IIS中的安全权限以及目录的权限设置有关，因为要在虚拟目录中执行动态库程序。这个问题与本软件没有关系。 但是，为了您能够看到Demo的效果，您可以把Demo目录拷贝到一个Fat32的磁盘中，再进行测试。但从安全性出发，建议你使用NTFS。
Q:6、AspApp企业版支持JavaScript吗？ A:如果您用JavaScript（或者JScript）作为Asp的服务器端脚本语言则不行。Asp的服务器端脚本语言必须使用VBScript。如果您仅仅是使用JavaScript作为客户端脚本，则AspApp企业版是支持的。实际上，客户端的脚本语言类型不受任何限制，因为它是在客户端的浏览器上运行的，其类型受客户的浏览器的限制。
Q:7、AspApp企业版可以加入定制功能吗？比如，我要求在AspApp企业版软件中不出现作者的版权信息，便于我拿到我的客户那儿安装运行。 A:如果您觉得AspApp好用，而且需要某些定制功能(比如，为客户端安装程序的功能和界面进行定制，加解密过程中使用您指定的算法等，)可以向作者 ，双方进行平等商讨，确定定制功能实现的可行性和费用（最低300元起）。
Q:8、AspApp企业版产生的加密文件可以在IIS的主(根)目录中使用吗？ A:AspApp企业版产生的加密文件并不只限于在虚拟目录中使用，也完全可以在IIS的主(根)目录中使用。
Q:9、我已经为我的机器申请了注册码，当我发行自己的加密产品时，是否也需要在我的客户的WebServer上再次申请注册呢？ A:不，您并不需要在您的客户机器上为任何程序再注册。只有AspAppEncoder.exe这个程序您需要到AspApp的作者处申请注册码，其它的程序，包括需要分发到您的客户那儿的Setup_Ent.exe，以及被加密的Asp页面的正常运行需要的组件，都不需要再到AspApp作者处做任何注册。
Q:10、AspApp企业版注册后在使用上是否还有时间或者次数的限制？AspApp企业版中是否存在“后门”？ A:完全没有。这是我们的职业道德所不允许的。您可以使用杀毒软件和防火墙软件来监测本软件的运行，自然就可以放心。
Q:11、AspApp企业版与专业版相比，加密算法的加密强度有何不同？ A:AspApp企业版采用了加密强度更高的算法。 即使企业版生成的加密文件是明文，也请您不要对加密后的文件进行任何更改，不然，将会导致解密时出错(一般是CRC错误)。
Q:12、AspApp企业版对同一台机器上使用AspApp企业版制作的虚拟目录有无数量上的限制？ A:没有。
Q: 13、请问企业版和专业版之间有什么区别？ A:专业版相比，企业版有如下的特点： 操作界面友好，设置更简单。 防止非法拷贝的用户认证功能。这个功能可以为Asp开发人员提供如下的产品防拷贝措施： 在您的客户那里运行加密文件前要求输入注册码，该注册码由ASP开发人员根据客户提交的机器码生成。注册算法中使用的数据与客户WebServer计算机的硬件有关。缺省情况下生成的加密文件没有安全限制。 （之所以不再提供日期和口令加密的功能，是因为考虑到在Asp脚本被加密的情况下，Asp程序作者完全可以在脚本中自己实现这两个功能，而且更灵活） 支持加密文件用于IIS主目录。 加密过程中自动识别Asp文本文件与二进制文件(有些开发人员为了数据库的安全，把Access数据库文件的后缀名更改为.asp)。 在对IIS6的支持上有了较大的改善，不再需要在IIS6上进行繁琐的设置了，只要您的IIS6支持一般的Asp脚本的运行，就无需再做出任何的修改就可以使用AspApp企业版的加密文件。 完全支持面向对象和数组的For Each 句法。 未注册版本对加密文件的长度不再限制，只是加密后的文件只能在本机使用，并在每个页面的上方会输出"AspApp Enterprise 试用版"的字样，便于用户试用并决定是否注册。但是，在这种情况下，请用户一定要注意，如果您的主页是ASP文件(比如:default.asp)并且使用了Frame结构，例如： <frameset cols="148,*" border=0 framespacing=0 frameborder="0"> <frame name="left" src="UBEXLeft.htm" scrolling="no" frameborder=0 marginwidth=5 marginheight=5 target="right"> <frameset rows="108,390" border=0 framespacing=0 frameborder="0" cols="*"> <frame name="top" src="UBEXTop.Htm" scrolling="no" noresize frameborder=0 marginwidth=5 marginheight=4 > <frame name="right" src="Logon_main.htm" scrolling="auto" frameborder=0 marginwidth=5 marginheight=0 target="self"> </frameset> </frameset><noframes></noframes> 由于"AspApp Enterprise 试用版"的字样会先输出，可能会导致您的这个主页无法正常浏览。为了解决这个问题，2.4版以后的AspApp企业版会自动识别ASP文件，如果一个ASP文件中包含FRAME框架，同时您使用的AspApp企业版又没有注册，那么就不对该ASP文件进行加密。但是，您需要注意，在这种情况下，您应该保证被这 个Frame框架文件所包含(INCLUDE语句)的文件也不能被加密。参见问题1的描述。
Q:14、如果操作不当，AspApp企业版会影响对IIS中其它虚拟目录的访问吗? A:无论您怎么使用AspApp企业版，它都不会影响到您对IIS中其它虚拟目录的访问。
Q:15、是否可以在一台计算机中同时使用企业版与专业版? A:可以。
Q:16、AspApp是否支持Application对象? A:支持。AspApp完全支持ASP的6个内建对象。但是，您在发布您的加密文件时，必须把Global.asa也发布出去。Global.asa并没有被加密。
Q:17、我的Asp网站中使用了FSO对象，有什么需要注意的地方呢？ A:如果您的Asp网站使用了FSO对象，那么，被FSO对象读写的文件必须是没有被加密的文件，否则读出的内容是您无法理解的秘文。
Q:18、安装AspApp企业版后，对系统有何影响？ A:安装了AspApp企业版不会对系统造成任何影响。虽然AspApp企业版加密后的文件名仍然是.asp，但AspApp企业版能自动识别内容是否被加密，这点您无需担心。
Q:19、AspApp是否支持使用了Access、SQL Server或Oracle数据库的ASP脚本文件？ A:AspApp只对ASP脚本进行加密，并不关心脚本的内容。只要您的脚本符合ASP的语法，就可以在加密后正常使用。所以，您的ASP脚本是否使用了Access、SQL Server或Oracle数据库的功能，并不影响AspApp对它的加密和正常使用。
Q:20、为什么AspApp加密后的代码在运行时有些杀毒软件会认为是"未知病毒"？ A:这是瑞星杀毒软件的问题。这个问题我们向瑞星公司反映过，瑞星公司说已经解决了，实际上始终未能解决。但是一般来说，上网脚本监控是为了防止网页上的恶意代码危害用户点脑的安全，但是，最终加密后的ASP代码是运行在WEB服务器上，而该服务器一般不会用来上网，也就不用安装脚本监控，也就不会出问题了。
Q:21、我希望不使用机器码、注册码的方式来注册AspApp，因为这样与机器绑定，在工作中实在是不方便。有什么办法解决吗？ A:从版本2.8起，AspApp企业版推出了硬件加密购版本。本版本的软件功能与企业版基本一样(所以，如果要测试其功能，请直接下载企业版。) 但是，不再使用机器码/注册码的方式与您的计算机相绑定，而是与一只专用USB硬件加密狗(A型)相绑定。只要带着这只加密狗，在任何一台PC机上都可以使用AspApp企业版进行加密操作，为企业用户提供真正的方便。 另外，当发布您的加密后的ASP网站产品给您的客户时，您也可以要求您的产品与一只USB硬件加密狗(C型)相绑定。如果对方的服务器上没有您提供的USB加密狗(C型)则不能正常运行您的ASP产品，这样可以更好地保护您的产品的安全。(C型USB硬件加密狗与AspApp企业版本身所用的A型硬件加密狗不能通用，所以您需要另外提前向本工作室预定，50元/只，每次定货另加快递费20元。)。 当然了，加密狗版本也完全包含企业版本的功能，所以，加密狗版本的加密程序加密后的网页也可以使用机器码/注册码的方式与您的客户的WEB服务器相绑定。 (订购加密狗版本，款到三天内快递发出加密狗，快递发出后三天内到货)详情请 或来电( )垂询。
Q:22、如果使用本软件附带的DEMO例子程序来演示AspApp软件的功能？ A:本软件附带有两个例子，都在.\DEMO目录中，其结构为： \DEMO\ \DEMO1\ \DEMO1_Source\ \Short_DEMO\ \Short_DEMO_Source\ \DEMO1\中的文件是使用已经注册的AspApp企业版软件加密\Demo1_Source\下的文件得来的。 \Short_DEMO\中的文件是使用已经注册的AspApp企业版软件加密\Short_Demo_Source\下的文件得来的。 您可以对比两个DEMO的原文件和加密后的文件之间的异同。 您也可以在IIS中建立一个虚拟目录，他指向\DEMO1\或者\DEMO1\即可。当然，如果您是第一次使用AspApp企业版，请不要忘了实现运行一下Setup_ent.Exe并注册组件。如果不能正确访问，请确保您使用的软件的版本与加密\DEMO1\下的文件所使用的软件版本相一致。或者，您也可以使用手头的软件重新加密\Demo1_Source\下的文件到\Demo1\来检查。
Q:23、为什么有些时候加密后的网页，如果不访问数据没有问题，而如果有访问数据库的代码就会报错？ A:如果有访问数据库的代码就会报错，而且只出现"AspApp Enterprise 3.XX"字符的话，一般是由于您在加密前设定的数据库链接字符串不适应于加密后的运行环境。但是，如果您一旦把数据库连接字符串写在了一个ASP文件中，那么加密后，您也就不能在加密后的文件中重新修改连接字符串了。这个时候您就需要借助下面一条的描述来进行处理了。
Q:24、为了避免数据库连接字符串在加密后被固定死而无法修改，如何使用Application对象来保存数据库连接字符串？ A:这是一个比较常见的问题。 首先，您需要了解Global.asa文件的一般用法，了解Application对象的一般用法。 其次，为了把一个数据库连接字符串保存到Application中，请在Global.asa文件的Application_OnStart过程中使用类似于如下的语法： <Script Language=VBScript Runat=Server> Sub Application_onstart Application("DBConnectionString") = "DRIVER={SQL Server};SERVER=Localhost;DATABASE=MyDB;UID=sa;PWD=" '其他的一些代码 '............. End Sub </Script> 然后，在别的需要访问数据库的asp文件中使用类似于如下的语句来连接数据库： <% dim cn dim cnString set cn = server.createobject("adodb.connection") cn.connectionstring = Application("DBConnectionString") cn.open %>
Q:25、有些时候使用ASPAPP加密，空格丢失，导致网页布局变形，如何处理？ A: 请在这些地方使用 &nbsp; 来表示空格。
Q:26、USB加密狗版本的ASPAPP是否一定要给我的每一个ASP系统用户发放一个USB加密狗才行？ A: 不是！具体请参见 Q21。
Q:27、我使用的是未注册的试用版本，但是加密带有框架的页面时总是出错，为什么？ A: 很大可能是您的这个框架页面中有使用Include语句包含别的页面，而这些被Include的文件又被加密了。具体请见 Q13。
Q:28、我使用的是未注册的试用版本，我的某一个页面使用ASP文件动态输出图片的方式来生成数字验证码，但为什么图片无法显示？ A:未注册版本会在每个页面的上方输出"AspApp Enterprise 试用版"的字样，便于用户试用并决定是否注册。正是这个输出信息，破坏了您后面的ASP代码输出的图片信息的定义，造成图片无法显示。如果是这样，请注册本软件。注册后本软件将不会再输出任何您不愿意看到的信息。
Q:29、加密时报告“编译失败！文件 aaa.asp 或者相关文件中的For Each语句中,不能使用Item, 即不能使用For Each Item In XXXX形式的语句”，这个是什么意思？ A:加密程序报的错误的意思,是要求您把诸如如下的语句： For Each item In Request("del_list") 中的"Item"随便换成别的一个变量名就行，就是不要用"Item"之类的系统保留变量名。比如改成： For Each myitem In Request("del_list") 就行了。
Q:30、系统默认情况下，没有注册组件就访问加密文件会报错。能不能加一个判断，没有发现组件就给出一个提示或者跳转到别的提示文件？ A:把每一个加密文件的这一行： Set MyAspAppG = Server.CreateObject("AspAppGX.AspDecoder") 替换为： on error resume next Set MyAspAppG = Server.CreateObject("AspAppGX.AspDecoder") if not isobject(MyAspAppG) then response.write "AspAppEncoder组件文件未注册" '这一行可以替换成您需要的内容，比如跳转到别的文件等 response.end end if