方法一:

卸载,重新安装windows installer服务

一、先用msiexec /unregserver 停掉windows installer服务。
二、下载InstMsiW.exe,用winrar解压开。进入目录。
三、右击msi.inf ,点击安装,右击mspatcha.inf ,点击安装。
四、再用msiexec.exe /regserver 启用服务。


方法二:

这是由于一些软件制作的问题导致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 Version 5.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 = {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%\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 installer2.0 ,一切正常了。
昨天同时运行3台虚机已经实现,今天一上班就开始准备做群集。
一切都进展得很顺利NODEA上创建群集也正常了,之后启动NODEB时提示QDISK有错误。但是没有理会,在NODEB上加入群集也很正常并成功。
但是为什么会出现QDISK有错误呢?我已经创建了群集并开启了NODEA,那么QDISK应该是被NODEA锁定的?奇怪了,上论坛找资料去。希望有正确的解答方法,之前反复看过webcast的关于cluster的视频也没能得到结果。最后才回忆起来,来后直接启动了DC、NODEA、NODEB,在NODEA没有完全启动时,NODEB已经进入开机检测,所以导致QDISK出现错误。真相大白得出结论:在群集没有建立时,绝对不能同时启动NODEA和NODEB。

至此VMware下的WinSRV2003群集试验算是完成了。剩下的IIS的测试完成很顺利没有什么难度,至于SQL和Exchange还是等有高配置的机器后再试验吧。
今天重新安装了两台vhost,其中一个还是做DC另外一个作GDC
先不为其配置PLN磁盘以避免不必要的故障
将两台的域都配置好AD后,在GDC上安装并DNS服务
之后挂接PLN磁盘,实现群集,这次竟然成功了
为了模拟真实的环境,决定创建三台vhost:DC、NODEA、NODEB
但是我的机器内存才512M,主板还是845GL,在临下班前测试完成三台同时运行,本机是XPSP2英文版,我把不用的服务、应用程序、进城全部关闭,然后退出explorer壳,切换到VMware下,为DC配置了88M内存,NODEA配置了72M内存,NODEB配置了64M内存。哈哈竟然跑起来了,而且配置了AD等都很正常,只是稍微慢了些,但是还是可以忍受的。OK,下班明天做群集试验。
分页: 450/468 第一页 上页 445 446 447 448 449 450 451 452 453 454 下页 最后页 [ 显示模式: 摘要 | 列表 ]