用户名:
密 码:
 
 
软 件 安 装
软 件 知 识
经 验 技 巧
学 习 指 南
相 关 下 载
站内搜索
 
 
首页 >> windows

在win2ksp3下重新安装windows installer

作者:未知   时间:2004-07-09 18:14:24

目前由于一些软件制作的问题(如一些rip出的绿色软件),
导致windows installer不能正常工作,可是
由于win2ksp3已经安装了windows installer2.0
这是最高版本的windows installer,直接运行instmsiw.exe,
就会说服务已经安装,然后直接退出。

即使是删除注册表中的[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSIServer]
然后运行instmsiw.exe,仍然会说服务已经安装,然后直接退出。

我又试着用sc命令手工创建msiserver服务,仍然不能解决问题。
经过一个上午的斗争,终于搞定了。下面是我的步骤:
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 = {F5776D81-AE53-4935-8E84-B0B283D8BCEF}
Provider = %Microsoft%
CatalogFile = msi.cat
ComponentId = {2E742517-5D48-4DBD-BF93-48FDCF36E634} ; 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 installer2.0
一切正常了。

[ 责编:speedcat 点击: ]

浏览评论 | 发给好友 | 打印版本

 相关文章


Copyright © 2004 SunCN.Net All rights reserved. 阳光网络 版权所有 Power by iWPC