分类:
2009-03-05 12:28:47
今天sq(shiqi)使用我的office2003盘安装时,总是提示“系统管理员设置了系统策略,禁止进行此安装”,可是ldl前段时间刚用这张盘安装过,没有问题。
按照提示,首先想到的自然是组安全策略,看了一下gpedit.msc的东西,也看不出来什么异常,于是baidu…………,百度知道里一堆解决方法,不过很幸运的有个人说,很多方法他都试过了,不管用,删除了一项注册表项就解决了。具体解决方法如下。
*****************************************
解决方法来源:败亦枭雄/blog/item/f9a8f2f96a5fa95e242df241.html
14.提示“系统管理员设置了系统策略,禁止进行此项安装”Microsoft Office 2003无法安装
症状:
Microsoft Office 2003无论哪个版本的,机子都无法安装,总是初始化完后提示如图,还有每次开机总是弹出Windows Installer安装。
反馈:
删除HKEY_CLASSES_ROOT\Installer\Products\4080110900063D
*****************************************
sq的电脑里products表项下只有两项,而我的大概有30项……,我看了一下我的4080110900063D
主要键值:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Installer\Products\4080110900063D
"ProductName"="Microsoft Office Professional Edition 2003"
"PackageCode"="46BF
"Language"=dword:00000804
"Version"=dword:0b0015ee
"Assignment"=dword:00000001
"AdvertiseFlags"=dword:00000184
"ProductIcon"="D:\\WINDOWS\\Installer\\{90110804-6000-11D3-8CFE
"InstanceType"=dword:00000000
"AuthorizedLUAApp"=dword:00000000
"Clients"=hex(7):3a,00,00,00,00,00
*****************************************
在网上查找这个问题时,有人说删除这个注册表项会导致CPU占用100%。具体可参考下文:
Office 2007 绿色软件站专用版(第一版)是SNEAR的作品,本人觉得这个作品近乎完美,只写了及少的注册表,也使用了及少的文件,可以说是OFFICE绿化中的精品。
但是本人觉得还是存在一些问题,比如CPU占用100%的问题,文件和注册表还是不够精简等.本人经过一个多星期的测试和研究对也做了一个修正上述问题的最小版本,只有12个文件,注册表也做了进一步的优化。
1.CPU占用100%问题的解决:实际上CPU占用问题与注册表的很多项有关,经过本人测试,下面的注册表项中缺少任何一项都会导致CPU占用100%问题。
一是必须存在HKEY_CLASSES_ROOT\Installer\Products\4080110900063D
二是必须存在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-
三是MSO.DLL和对应的可执行EXE文件必须写入注册表的组件项目,即在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components对应的EXE和公用MSO.DLL组件路径。但是在这里我注意到一个有意思的问题,如果删除HKEY_CLASSES_ROOT\Installer\Products\4080110900063D
2.注册表还可以进一步精简:看了SNEAR的注册表,比较精简,但是文件关联部分却占了多半内容,我觉得可以简化为如下注册表项目,通用性好而且修改方便,放之四海皆准。以DOC文件关联为例六行就可以搞定:
[HKEY_CLASSES_ROOT\.doc]
@="doc_file"
[HKEY_CLASSES_ROOT\doc_file\shell\open\command]
@="\"D:\\OFFICE2003\\OFFICE11\\WINWORD.EXE\" \"%1\""
[HKEY_CLASSES_ROOT\dot_file\DefaultIcon]
@="D:\\OFFICE2003\\OFFICE11\\WINWORD.EXE,0"
3.文件也可以进一步精简:经过本人研究发现,OFFICE2003居然不用使用MSOHEV.DLL也可以照样运行,而且精简掉这个文件还有一个好处就是卸除OFFICE的时候就可以完整的卸掉OFFICE而不会出现说无法删除MSOHEV.DLL文件的提示了。下面对其他保留的文件做一个说明,让大家知道这些保留的文件到底是做什么的。
POWERPNT.EXE、WINWORD.EXE和EXCEL.EXE:这三个文件就不多说了吧,如果想精简掉哪个办公组件你可以直接删除其中需要删除的就可以了。
PPINTL.DLL、WWINTL.DLL、XLINTL32.DLL、MSO.DLL、MSOINTL.DLL:这五个文件其实就是POWERPNT.EXE、WINWORD.EXE和EXCEL.EXE对应的初始化文件和资源文件,别小看这五个文件,还非常用有的,有什么用?呵呵,你自己去发现吧。
GDIPLUS.DLL:绘图单元,实际就是OFFICE中绘图的插件了,如果删除这个文件,只有WORD可以启动,其他都无法启动,而且无法绘制图形了;但是在OFFICE2000中并不存在这个文件,而是直接整合到EXE中了。
XLLEX.DLL:EXCEL词典文件,这个文件必须保留,否则EXCEL无法启动。
ID_011.DPC和OPA11.BAK:这两个文件就不用介绍了吧,我具体也不知道做什么的。不过至于ID_011.DPC这个文件与网上前段时间说的EXCEL和WORD不能同时说法,本人持不同的看法。原因在于,我只装ACCESS,卸掉干净后再装WORD,EXCEL等组件,发现互相替换都可以使用,这说明EXCEL和WORD等不能同时使用的根源根本不在于该文件;我感到越发好奇了,最后我干脆删除改文件,然后运行WORD,EXCEL等组件,发现一个奇怪的现象,如果恢复改文件,只要先前没有运行的组件则可以继续使用,运行过的组件一律提示没有安装正确,我想应该是注册表的问题,于是重新导入注册表,所有组件又可以同时使用了,这说明这个文件与注册表有着密切的关联。我以前在制作绿色软件的过程中发现只要安装好OFFICE组件后不运行该组件,那么导出注册表后制作的绿色软件也会有同样的提示,如果运行后再导出则不会出现这个提示,记得以前这个问题是因为Licensing只有安装后运行一次后才能产生,跟着这个思路:我重新删除ID_011.DPC文件,并运行WORD,发现WORD对应的HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Common\Licensing下的授权信息自动被删除了,没有运行的组件对应的授权信息则没有删除,我突然明白了原理居然是一样的,最后简单的可以得出结论:OFFICE组件对应HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Common\Licensing的授权信息是通过ID_011.DPC文件来检测是否存在的,运行WORD等组件时如果发现不存在如果不存在ID_011.DPC文件,则自动删除对应的授权信息,如果存在改文件而注册表中没有对应的授权信息则提示这个没有安装的错误提示从而无法使用相应组件。
这里还需要说明的是因为去掉了vbe6.dll等VBA编程环境文件,所以启动EXCEL时会提示找不到该文件,但不影响使用的。
这个应该算精简的不能在精简了,注册表不到100行,文件WINRAR打包后只有18MB。如果你想测试下请把相关文件以上12个文件按照下列方式排列,并把上述注册表内容保存为注册表文件并导入即可,如果你想修改路径可以替换注册表对应路径即可。
D:\OFFICE2003\OFFICE11\EXCEL.EXE
D:\OFFICE2003\OFFICE11\GDIPLUS.DLL
D:\OFFICE2003\OFFICE11\MSO.DLL
D:\OFFICE2003\OFFICE11\OPA11.BAK
D:\OFFICE2003\OFFICE11\POWERPNT.EXE
D:\OFFICE2003\OFFICE11\WINWORD.EXE
D:\OFFICE2003\OFFICE11\2052\ID_011.DPC
D:\OFFICE2003\OFFICE11\2052\MSOINTL.DLL
D:\OFFICE2003\OFFICE11\2052\PPINTL.DLL
D:\OFFICE2003\OFFICE11\2052\WWINTL.DLL
D:\OFFICE2003\OFFICE11\2052\XLINTL32.DLL
D:\OFFICE2003\OFFICE11\2052\XLLEX.DLL