Microsoft SWI今天给出了8个Workaround, 并且认为到目前为止最好的一个是:
Disable the “Row Position” functionality of OLEDB32.dll
具体搞法:
Delete the following Row Position registry subkey: HKEY_CLASSES_ROOT\CLSID\{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}
刚才ben总说Vista上这个键不好删除,我试了一下,果然很顽强啊,以administrator和SYSTEM运行regedit.exe都删除不掉这个键. 我推荐这个方法的时候自己也没有实际操作,惭愧.
后来跟ben总一起摸索了很久,(主要还是对vista下的情况不熟悉), 下面是Vista上删除这个subkey的流程: (XP直接秒删 )
1. 以administrator权限运行regedit.exe
2. 搜索找到2048EEE6-7FA2-11D0-9E6A-00A0C9138C29 这个subkey, 你会发现administrators权限只是read. TrustedInstaller才是owner.
3. 接下来得修改这个subkey的owner为administrators. 在Advanced(高级)里面
change owner to “Administrators” (我这个抓图的时候已经操作完成了) 记得下面这个地方打上勾,替换所有子项的owner.
4. 回过来给administrators以”Full control”
按道理这个权限会自动继承到下面三个子键的,但是我刚才操作的时候好像没有继承. 如果你发现那3个子键InprocServer32,ProgID,VersionIndependentProgID, administrator不是full control的, 就挨个修改一下权限.
5. 不要犹豫了,赶紧右键, 删除掉2048EEE6-7FA2-11D0-9E6A-00A0C9138C29整个subkey!!! 安全了….. 实际操作的时候如果碰到什么问题, 欢迎留言.
如果将来要恢复,把下面这些东西存成.reg文件, 再以Administrator打开regedit.exe, Import这个reg文件就可以了.
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\CLSID\{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}] @=”Microsoft OLE DB Row Position Library” [HKEY_CLASSES_ROOT\CLSID\{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}\InprocServer32] @=”C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll” “ThreadingModel”=”Both” [HKEY_CLASSES_ROOT\CLSID\{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}\ProgID] @=”RowPosition.RowPosition.1″ [HKEY_CLASSES_ROOT\CLSID\{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}\VersionIndependentProgID] @=”RowPosition.RowPosition”
转载请注明:IT运维空间 » 安全防护 » VISTA禁用 Row Position 功能的操作步骤
发表评论