解决无法访问Windows Installer服务
在Windows XP中安装程序时出现“The Windows Installer Service Could Not Be Accessed”(无法访问Windows Installer服务)错误消息。
要解决此问题,请按照下列步骤操作:
方法一:
卸载,重新安装windows installer服务
一、先用dos命令窗口msiexec/unregserver停掉windows installer服务。
二、下载InstMsiW.exe,用winrar解压开。进入目录。
三、右击msi.inf,点击安装,右击mspatcha.inf,点击安装。
四、再用dos命令窗口msiexec.exe/regserver启用服务。
方法二:
1.如果曾安装过ACDSee5.0(包括迷你中文版),卸载它。如果还不行就重装Windows Installer或者ACDSee4.0
2.运行cmd,然后运行sfc/scannow检查系统文件
3.运行Services.msc,把Windows Installer服务设置为手动运行,然后重新运行
4.打开任务管理器,找到并结束ikernel.exe进程,重新安装
5.禁用杀毒软件的实时防护
6.删除C:\Program Files\Common Files\InstallShield\Engine\6\Intel32这个文件夹中的所有文件,然后重启动电脑,重新运行安装程序
方法三:
这是由于一些软件制作的问题导致windows installer不能正常工作恢复步骤如下:
1.再次安装windows installer2.0,运行instmsiw.exe如果说"服务已经安装"然后直接退出安装就再跟着做,否则你重装就OK了!
2.删除注册表中的[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]然后运行instmsiw.exe
3.绝招:
(1)删除msiserver服务
运行regedit,删除下面的MSIServer服务
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]
把下面的内容存为unmsiserver.reg文件,然后双击左键,把它合并进注册表中
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;unmsiserver.reg
Windows Registry Editor Version5.00
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(2)删除msi的文件
用下面的脚本存为一个unmsi.inf文件,然后在inf文件上右键单击install,就会删除一些msi的dll,这时windows的sfc机制可能警告一些系统文件被修改要求插入win2k的光盘,不理睬它。这个脚本是我从instmsiw.exe中修改得来的。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;unmsi.inf
;;;;;;;;;;;;;;;;;
[Version]
signature="$Windows NT$"
Class=%ExceptionClassDesc%
ClassGUID=
Provider=%Microsoft%
CatalogFile=msi.cat
ComponentId=;GUID assigned to the Windows Installer
DriverVer=03-13-2001,2.0.2460.1
[SourceDisksNames]
1=%msi_media%
[SourceDisksFiles]
msi.dll=1
msihnd.dll=1
msimsg.dll=1
msiexec.exe=1
msisip.dll=1
[DestinationDirs]
Msi.SystemFiles=11;%windir%\system32
Msi.DllCacheFiles=11,dllcache;%windir%\system32\dllcache
[DefaultInstall]
DelFiles=Msi.SystemFiles,Msi.DllCacheFiles
;COPYFLG_REPLACE_BOOT_FILE flag(0x1000)not necessary for
;files in the dllcache
;
[Msi.DllCacheFiles]
msi.dll
msihnd.dll
msimsg.dll
msiexec.exe
msisip.dll
[Msi.SystemFiles]
msi.dll
msihnd.dll
msimsg.dll
msiexec.exe
msisip.dll
[Strings]
Microsoft="Microsoft Corporation"
msi_media="Microsoft Windows Installer Distribution Media"
ExceptionClassDesc="Microsoft Windows Installer"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(3)重新启动,按F8键,进入带命令行的安全模式,执行下面的命令
regsvr32/u%windir%\msi.dll
del%windir%\msi.dll
(4)重启动,运行instmsiw.exe,安装windows installer,一切正常了。
以管理员身份登录到计算机。
单击“开始”,然后单击“运行”。
在“打开”框中,键入cmd,然后单击“确定”。
在命令提示符下,键入msiexec.exe/unregister,然后按Enter。
键入msiexec/regserver,然后按Enter。
验证SYSTEM帐户对Windows注册表中的HKEY_CLASSES_ROOT配置单元具有完全控制访问权限。在某些情况下,也可能需要添加管理员帐户。为此,请按照下列步骤操作:警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能导致严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft不能保证您可以解决这些问题。修改注册表需要您自担风险。
单击“开始”,单击“运行”,在“打开”框中键入regedit,然后单击“确定”。
单击以下注册表配置单元:
HKEY_CLASSES_ROOT
在“编辑”菜单上,单击“权限”。
如果“SYSTEM”没有在“组或用户名”列表中列出,请单击“添加”,确保本地计算机名称出现在“查找位置”框中,在“输入对象名称来选择”框中键入system,单击“检查名称”,然后单击“确定”。
在“组或用户名”列表中单击“SYSTEM”,然后选中“SYSTEM权限”框中“允许”下的“完全控制”复选框。
单击“应用”,然后单击“确定”退出注册表编辑器。
重新启动计算机。