IIS7的安装
Windows Vista中IIS7是默认不安装的,所以在安装完Windows Vista之后如果需要安装IIS7的话,就要自己动手了。安装的步骤为:开始》控制面板》程序》打开或关闭Windows功能》Internet信息服务。IIS7安装时需要注意的是,如果需要ASP、ASP.NET等的支持,是需要把功能模块给装上的,默认是不安装的。
控制面板中“程序”的位置
“程序”中“打开或关闭Windows功能”的位置
如图,安装IIS7时需要选择要使用的功能模块
IIS7安装完成之后可以在开始菜单的所有程序中看到“管理工具”,其中有一个“Internet信息服务管理器”,如果没有可以按以下步骤添加:开始》右击属性》“开始”菜单选项卡》自定义》把“系统管理工具”设置为“在所有程序菜单显示”或者“在所有程序菜单和开始菜单上显示”。
打开Internet信息服务管理器就可以看到IIS7的主页了
IIS7配置ASP+Access使用环境
默认装完IIS7之后,使用ASP程序会发现提示数据库连接失败,在网上找了找,说是因为MS Jet引擎改变了临时目录的位置,但是又没有对临时的存取权限,导致数据库使用失败。
先要设置应用程序池(Application Pool)为Classic .NET AppPool,而不是默认的Default AppPool,可以在网站目录里对每个站点设置,也可以在站点进行单独设置。选择好要设置的站点之后,点右边的“基本设置”即可调出应用程序池设置对话框。
然后再给“系统盘:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp”目录添加一个“Authenticated Users”的用户,其中AppData目录是隐藏的,在进入的时候可以直接在地址栏输入路径,或者在文件夹选项里显示隐藏文件。
设置权限步骤:右击Temp文件夹,选择“属性”》选择“安全”选项卡》单击“编辑”》出来“Temp 的权限”对话框,单击“添加”,在下面的“输入对象名称来选择”中输入Authenticated Users,确定》返回到“Temp 的权限”,将Authenticated Users的权限中的完全控制给勾上,确定》确定。
启用父路径支持
在站点主页上选择“ASP”,然后在“行为”组中将“启用父路径”设置为True即可。
至此,完成了Windows Vista中IIS7的安装及使用ASP+Access的配置。
传统ASP程序开发者使用IIS7的小提示
至今还有这么多传统ASP (Classic ASP) 应用程序和开发者,真让我感到惊讶。我还记得96、97年的时候IIS3问世,我体验了最原始的ASP程序,并为它与ColdFusion相比表现出的惊人的可编程性赞叹不已。使用传统ASP我建立了许多应用, 它将成为我记忆中永不褪色的闪光点:)
使用传统ASP编程的开发人员应该对IIS7的几个小变化引起注意。
ASP缺省不安装
重要的事先来! 如果从XP迁移到Vista / Longhorn Server, 您也许会得到这个错误:
--------------------------------------------------------------------------------------------------------------------
HTTP Error 404.3 - Not Found
Description: The page you are requesting cannot be served because of the Multipurpose Internet Mail Extensions (MIME) map policy that is configured on the Web server. The page you requested has a file name extension that is not recognized, and is not allowed.
--------------------------------------------------------------------------------------------------------------------
这是您没有安装ASP组件时的情形,所以去您安装IIS的地方找到IIS/WWW Services(WWW服务)/Application Development(应用程序开发)/ASP 来安装它。:)
Access 与传统ASP
很多人使用Access作为数据库-因为它小巧,可复制, 容易处理。我们在Vista IIS7的一个变动就是缺省不使用ASP和Access。本篇我将详细描述这一变化, 但根本上这是因为应用程序池(Application Pool)缺省不再使用\windows\temp, 而改为应用程序池身份档案(identity's profile)和临时目录。并且因为只有"网络服务"才能向网络服务的临时目录执行写入操作, ASP使用虚拟身份(impersonated identity)访问数据库, 所以匿名或已认证的ASP应用程序就会中止。如果您在IIS7使用ASP+Access、你大概会看到与以下提示类似的错误信息:
--------------------------------------------------------------------------------------------------------------------
Microsoft JET Database Engine error '80004005'
Unspecified error
--------------------------------------------------------------------------------------------------------------------
回答很简单: 关闭loadUserProfile, 或者设置temp directory的访问权限以允许写操作. 这一问题和其它兼容性问题导致, 我们考虑在Longhorn Server / Vista SP1中取消这一变化.
不过现在, 您可以在下列措施中任选一项:
这个 appcmd 指令将为缺省应用程序池关闭 loadUserProfile. 假如您的程序运行于不同的应用程序池(AppPool), 就相应改动一下:
%windir%\system32\inetsrv\appcmd set config -section:applicationPools /[name='DefaultAppPool'].processModel.loadUserProfile:false
这条命令将把网络服务的临时目录权限改为可读可写。如果你是以另一个身份来运行程序,那么你还需要将那个身份的临时目录权限给打开:
icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant Users:(CI)(S,WD,AD,X)
icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant "CREATOR OWNER":(OI)(CI)(IO)(F)
脚本错误默认为不在浏览器中显示了
作为安全策略的一部分,我们关闭了ASP的自动在浏览器中显示脚本错误的提示。也就是说一般用户将不会再看到你的语句到底是哪一行出了差错。取而代之的是这个错误提示:
--------------------------------------------------------------------------------------------------------------------
An error occurred on the server when processing the URL. Please contact the system administrator
--------------------------------------------------------------------------------------------------------------------
要想恢复到IIS6的状态也很容易,运行下面命令即可:
%windir%\system32\inetsrv\appcmd set config -section:asp -scriptErrorSentToBrowser<wbr>:true
或者你可以在窗口界面中找到以下这个选项:
之后你就能看到这样的错误提示信息了:
--------------------------------------------------------------------------------------------------------------------
Microsoft VBScript compilation error '800a03ea'
Syntax error
/test.asp, line 4
Response.Write("I love classic ASP" && foo)
-------------------------------------^
--------------------------------------------------------------------------------------------------------------------
父目录默认是不能访问的
在IIS6中我们默认屏蔽了父目录的访问,但是一些从XP升级到Vista的用户显然遇到了麻烦。因为在IIS5.1中,父目录默认是可以访问的。所以如果你使用了../../../includeFile.inc这样的路径,你就会得到这样的错误提示:
--------------------------------------------------------------------------------------------------------------------
Active Server Pages error 'ASP 0131'
Disallowed Parent Path
/test.asp, line 1
The Include file '../bad.inc' cannot contain '..' to indicate the parent directory.
--------------------------------------------------------------------------------------------------------------------
要想恢复到IIS6的状态也很容易,运行下面命令即可:
%windir%\system32\inetsrv\appcmd set config -section:asp -enableParentPaths:true
或者你可以在窗口界面中找到以下这个选项:
如果你是用IE测试的,去掉高级选项里的“显示友好HTTP错误”再看看。
IIS管理器-ASP-Debugging Properties--Send Errors to Browser,改为True。
最好一步给存放的网页代码的文件夹everyone 的权限就搞定了
</wbr>
分享到:
相关推荐
当遇到“异常A generic error occurred in GDI+”时,可能的原因有多种,下面将详细介绍这些原因以及相应的解决方法: 1. **资源管理不当**:在使用GDI+对象时,如果没有正确地释放资源,就可能导致内存泄漏或资源...
解决方法:An error occurred on the server when processing the URL. Please contact the system administrator 在WINDOWS7或SERVER2008上安装了IIS7.5,调试ASP程序时出现以下错误: An error occurred on the ...
myeclipse弹出an internal error occurred during:"initializing"java tooling.有时候myeclipse总是在保存的时候弹出错误,只要保存就弹出.本资源可以解决报错问题
在使用MyEclipse进行Java开发的过程中,可能会遇到一个常见的问题:“An internal error occurred during: 'Calculating completion proposals...'”。这个错误通常伴随着`java.lang.NullPointerException`异常,...
### Drupal 7 导入翻译时出现“An AJAX HTTP error occurred”错误的解决方案 #### 错误现象描述 在尝试导入Drupal 7站点的翻译时,可能会遇到一个名为“An AJAX HTTP error occurred”的错误提示。该错误通常伴随...
标题 "An internal error occurred during: \"Building workspace\". Java heap space" 描述的是一个常见的Eclipse集成开发环境(IDE)中的问题,当用户尝试构建工作区时遇到内存不足的情况。这个错误表明Eclipse在...
Win7或Windows Server 2008中IIS7支持ASP+Access解决方法 一、Win7 或 Windows Server 2008 中 IIS7 支持 ASP+Access 解决方法: 1. 让 IIS7 支持 ASP 在 Win7 或 Windows Server 2008 中安装 IIS7 时,默认是不...
在开发报告过程中,可能会遇到一个令人头疼的问题,即“An error occurred during local report processing: report definition has an invalid target namespace”的异常。这个问题通常涉及到报表定义的目标命名...
主要介绍了关于eclipse安装spring插件报错An error occurred while collecting items to be installed...解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面...
在IIS7.5下,调试asp程序时,可能会出现“An error occurred on the server when processing the URL. Please contact the system administrator. If you are the system administrator please click here to find ...
An error occurred installing Package Control-附件资源
根据提供的解决方案,我们可以按照以下步骤来解决Error 1935的问题: 1. **进入注册表编辑器**:首先通过“开始”菜单中的“运行”选项,输入`regedit`命令打开注册表编辑器。 2. **定位至特定路径**:在注册表...
根据本人运维经验,结合openVPN社区相关案例,针对TAP-Windows-adapter安装失败“an error occured installing the TAP device driver”错误提示,提出五种解决方案
关于SAP NWCE 7.11错误"Application error occurred during the request processing."的分析与处理 标题中提到的SAP NWCE 7.11指的是SAP NetWeaver Composition Environment的7.11版本,这是一个用于企业级的业务...
访问添加的 ASP 网站时返回 “An error occurred on the server when processing the URL.” 错误,通常是因为程序中存在错误但 IIS 没有返回具体的错误信息。解决方法包括: 1. **启用错误发送至浏览器**: - 在 IIS...
VS2005/VS2008软件发布问题:SignTool Error: An error occurred while attempting to sign 处理方法
这个错误表明在安装过程中,与该运行库相关的组件安装失败,具体错误信息可能为:“Error1935.An error occurred during the installation of assembly component Microsoft.VC80.CRT”。 #### 影响的产品 - Photo...