解决IIS7.0部署文件在 windows 2008 R2 64位C盘中无法注册问题
来源:互联网 发布:上海晓通网络 编辑:程序博客网 时间:2024/05/22 04:43
解决IIS7.0部署文件在 windows 2008 R2 64位C盘中无法注册问题
问题描述:在xxx项目安装包测试过程中,发现授权注册页面,无论输入正确或者错误的验证码,点击“注册”均无反应。经与开发人员详细分析,寻找到该问题的最终原因为:安装包安装程序的路径为C盘(WINDOWS SERVER2008 R2 64位),C盘安全级别很高,而授权注册动作需对文件夹MvcWeb和WebApi进行写入操作,而IIS7.0内置用户NETWORK SERVICE无法对处于C盘的文件夹MvcWeb和WebApi执行写入操作,也就无法成功授权注册。
针对以上问题,开发人员提供了两种方案:
1、IIS7.0中应用程序池使用内置账户LOCALSYSTEM。
2、修改默认路径为D盘,若用户将软件安装在C盘,则安装手册中提供用户完成软件安装后,手动赋予网站Users或者Everyone或者Network Service的完全控制权限的步骤,即对文件夹MvcWeb和WebApi添加Network Service用户组。
综合来讲,方案1由于LOCALSYSTEM权限过高,非常容易被黑客或病毒侵入系统导致无法挽回的损失,这是万万不能采用的。而方案2固然可行,但一定程序上反映出安装包无法自动化的一面。那么,有没有一种方法,可以无需手动操作,也能对网站赋予权限呢。
C:\windows\system32有一个程序:icacls.exe,百度解释是:显示或修改自由访问控制列表 (Dacl)上指定的文件,并指定目录中的文件应用于存储的 Dacl。
于是,开发人员采用批处理的方式解决了自动对网站赋予权限的问题。具体方法如下:
FileInsertLine(TARGETDIR ^ "\\Grant.bat", "\"%SystemRoot%\\System32\\icacls.exe\" \"" + TARGETDIR + "\" /T /C /Q /grant Everyone:F", 1, BEFORE);
LaunchAppAndWait(TARGETDIR ^ "\\Grant.bat", "", WAIT);
该方法的成功使用,终于解决了软件安装在C盘无法注册的问题,鉴于时代的发展,越来越多的软件产品都会安装在WINDOWS SERVER2008 R2 64位,或者WINDOWS7 /WINDOWS8操作系统中,也将可能遇到类似情况,相信此方法可以帮助到您。
备注:非常感谢所有提供资料的项目组成员。。
- 解决IIS7.0部署文件在 windows 2008 R2 64位C盘中无法注册问题
- 解决Tesla在Windows Server 2008 R2上无法工作的问题
- 关于32位DLL文件在64位操作系统中无法注册办法
- Windows 2008 R2 64位 iis7+access的错误 '80004005'(HTTP 500 内部服务器错误)
- Windows 2008 R2 64位 iis7+access的错误 80004005(HTTP 500 内部服务器错误)
- Window Server 2008 R2 +IIS7.5 部署WCF Rest问题
- SQLite 在Windows Server 2008 R2 部署问题FAQ汇总
- sqllite 在Windows Server 2008 R2 部署问题FAQ汇总
- 在windows server 2008 (64位)中注册mscomm32.ocx
- NI MAX 在Windows 2008R2中无法正常工作的问题
- Windows Server 2008R2 IIs7 上传文件限制的解决方法
- windows 2008 server中iis7.0部署网站
- 64bit Windows Server 2008 R2 SP1 中IIS7.5 和 TOMCAT7 整合笔记
- 64bit Windows Server 2008 R2 SP1 中IIS7.5 和 TOMCAT7 整合笔记
- 解决在IIS7.0上部署ASP.NET1.1站点时【“/”应用程序中的服务器错误。无法识别的配置节“system.webServer”】的问题
- 解决在WIN7 64位系统下无法注册comdlg32.ocx、mscomm32.ocx等的控件的问题
- 解决iis7.5express在winxp无法安装的问题
- 在64位Windows Server 2008r2 下设置ASP.NET2.0操作Word相关设置
- 【springMVC】之静态文件访问
- Struts2<6>国际化
- oracle 发送带附件邮件(smtp)
- C#性能优化集锦
- 深入浅出MFC Message Mapping 消息映射
- 解决IIS7.0部署文件在 windows 2008 R2 64位C盘中无法注册问题
- 一个只能读26个英文单词的android学习之路(一)
- Robot之Variable table部分
- 奇异值分解(SVD)
- Linux下的硬件驱动——USB设备(上)(驱动配置部分)
- Pull解析例子
- Maven(二):入门项目
- 为什么使用jquery 的submit()方法不能提交表单?
- background-size:cover背景重复解决办法