切换到宽版
  • 1879阅读
  • 0回复

解决无法访问windows installer [复制链接]

上一主题 下一主题
 

只看楼主 倒序阅读 0 发表于: 2014-07-13

  在 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 或者ACDSee 4.0

  2.运行cmd,然后运行sfc/scannow检查系统文件

  3.运行Services.msc,把Windows Installer 服务设置为手动运行,然后重新运行

  4.打开任务管理器,找到并结束ikernel.exe进程,重新安装

  5.禁用杀毒软件的实时防护

  6.删除 C:Program FilesCommon FilesInstallShieldEngine6Intel 32这个文件夹中的所有文件,然后重启动电脑,重新运行安装程序

  方法三:

  这是由于一些软件制作的问题导致windows installer不能正常工作恢复步骤如下:

  1.再次安装windows installer2.0,运行instmsiw.exe如果说"服务已经安装"然后直接退出安装就再跟着做,否则你重装就OK了!

  2.删除注册表中的[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSIServer]然后运行instmsiw.exe

  3.绝招:

  (1) 删除msiserver 服务

  运行regedit,删除下面的MSIServer 服务

  [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSIServer]

  把下面的内容存为unmsiserver.reg 文件,然后双击左键,把它合并进注册表中

  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  ;unmsiserver.reg

  Windows Registry Editor Version 5.00

  [-HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSIServer]

  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  (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%system32dllcache

  [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 权限”框中“允许”下的“完全控制”复选框。
  单击“应用”,然后单击“确定”退出注册表编辑器。
  重新启动计算机。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水