GIS之家

愿大家在GIS的海洋里自由遨游

导航

 

windows 7 下安装 IIS 和 ArcGis Server 9.3 遇到的问题及解决方法

分类: ArcGIS server 计算机 631人阅读 评论(0) 收藏 举报

在Windows7下安装ArcGis Server 有时是件容易出错的事情,尤其是当你的安装顺序颠三倒四的时候。

例如: 你三下五除二先安装了 ArcGis 9.3 Desktop 进而又以“迅雷”不及掩耳之势连带安装了 ArcGis Server for .net or java 9.3 。这时你会发现安装程序会提示你

Web Applications 依赖不存在,无法完成安装。 

这时你会恍然大悟,IIS 没装,必然的。之后你便找来当初的Win7盘,准备先把IIS装好再说。可这时,你也许会发现,打开 控制面板--〉程序和功能--〉打开或关闭Windows功能 后,等候一小段时间接踵而来的是“一片空白”。咋回事? 原来是ArcGis 在安装好后,会修改注册表对注册空间进行限制。咱得把它改回来,regedit-->HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control 找到 RegistrySizeLimit 将其改回 ffffffff。重起再试! 行了么?

应该可以了,看到久违了的 IIS了,恩!安装的时候也不能大意,很多东西都要小心勾选,切勿遗漏。看看下面这张图,

折腾了半天,ArcGIS Server在Win 7总算安装成功了 - dingtao-wgs - 程序员驿站

按这个勾应该就可以了。这时候感觉已经等不及了,赶紧把这东西装完进入主题!~~

开始了! ArcGis Server 9.3 for . Net installing ... 一连串的下一步送走它。Post install 也没犹豫的一顿设置,结束。看看服务列表里 ArcServerObjectManager 已经启动,任务管理器里 SOC SOM 都在运行,啥都甭想了,赶紧打开 ArcGis Server Manager 那个管理页面试试。

啥? 不行? 真的假的? 没错阿,都没错阿。

别瞎想了,赶紧打开IIS 看看站点对不对。一打开傻眼了,压根儿就没有 ArcGis 的站点或虚拟目录。安装程序没给咱弄好,咱自己弄。幸运的是在C:根目录下找到了ArcGis的目录,打开一瞅,嘿,就是它。 把它扔进wwwroot(在原地方直接设置也可以)里,这下默认网站里有它了,刷新,重起网站。再看,还不行。运行时错误,还看不到抱错信息,可恶。把mode改了,看看详细抱错信息。

 <system.web><customErrors mode="Off"></customErrors></system.web>

“分析器错误信息: 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。”

 错误信息说的明白,“ IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误”,配吧~~~~~还等什么。找到ArcGis(因为目前它是站点下的一个目录),由键它--〉转为应用程序--〉图标变了样? 那就对了。再试试,依旧报错,还是不行。Manager目录也变应用程序,再进入http://Localhost/ArcGIS/Manager/ 。感动,可算看见登陆界面了。

进入,Service Manage ,Add new Service , Publish Resource 先配它一气。 ?, Finsh要等这半天,抱错了,信息还挺长

服务器上发生错误。请查看 Web 服务器上的“事件(应用程序)”日志了解详细信息。
工作站服务没有启动。  
显示错误详细信息

 Stack Trace:   在 System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
   在 System.DirectoryServices.DirectoryEntry.Bind()
   在 System.DirectoryServices.DirectoryEntry.get_Name()
   在 ESRI.ArcGIS.Manager.Security.SecurityHelper.GetDomainName(String machineName)
   在 Manager_Framework_Permissions.Page_Load(Object sender, EventArgs e)
   在 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
   在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
   在 System.Web.UI.Control.OnLoad(EventArgs e)
   在 System.Web.UI.Control.LoadRecursive()
   在 System.Web.UI.Control.LoadRecursive()
   在 System.Web.UI.Control.LoadRecursive()
   在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

用什么用户登录的? 赶紧看看权限。把登陆用户加入Administrator组(当然,该用户已经隶属于 agsadmin和agsuser两个组了),之后再试,终于可以了。

地图发布是成功了,Rest访问如何? http://Localhost/ArcGIS/rest/services , 不成,把Rest目录转为应用程序。

这下可以了吧。