|
|
 |
 |
 |
软 件 安 装 |
 |
软 件 知 识 |
 |
经 验 技 巧 |
 |
学 习 指 南 |
 |
相 关 下 载 |
|
 |
|
 |
 |
| |
|
|
|
|
|
 |
| 在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 一切正常了。
|
|
|
|
 |
|
|
|
|