两周前,微软那边的同事给了我一个bug. 唉。苦逼啊,在这边我干的最多的工做就是追踪并修复修bug. web
bug和去三月份在上海群硕遇到的问题同样,web项目,本地调试能够良好运行,在IIS上却不行。以前的经验告诉我是权限问题。可是此次代码是 别的同事写的,因此一开始咱们都focus在代码上。仍是走了弯路。 windows
在尝试未果以后,bug,便被搁置在一旁,一个礼拜吧,没有人再去碰它了,你们都有别的事情去作,因此,这是一个难啃的骨头。不过仍是我得去修复。 post
今天在windows事件日志上,看到了一条错误信息: spa
并不肯定就是个人那个错误,可是仔细看时,却很是像,有权限问题,有COM组件信息,个人那个功能确实是IIS调用COM.因此感受问题就是在这里。通过查询后,这类信息仍是挺多的。 调试
打开注册表后(命令:C:\Windows\regedit.exe),查询APPID:9CA88...找到了相应的注册表信息。 日志
右键权限。 进程
咱们须要将图一中提到的用户“NetWork”加进来。首先须要将此注册表可编辑,windows默认注册表的编辑权限为注册表的安装者。点击Advance: 事件
点击change: get
将用户修改你当前的登陆用户,这样你就能够修改了,回到以前添加用户的界面,将相应的用户加上。将用户system和Administrator的Full Control(彻底控制)打上钩,否则第二部将没法编辑。第一步完成。 it
2.运行 administrative tool 中的 Component Services ,(运行:dcomcnfg)打开以后:点击 my computer:
展开全部的配以后,根据AppID找到对应的配置,右键属性,切换到Security面板,如今开始修改啦。图一中提到,Network Service用户没有Local Activation permission (本地激活权限)。那么来添加:
好啦。对应用户的权限添加好啦。
=========================================
关于IIS应用程序池的用户。IIS应用程序池的进程模型ID:
能够用系统默认的四个account 帐户,也能够本身添加。
打开Computer Management,(电脑-管理)
将刚才的用户加进去,这一步是否是必须,没有去考证。
若是全部都搞定了。事件log中的那个error应该不会再有了。