OK!有必要试一试,我这里也找到了一些关于 Installer 报错的解决方案,希望对大家有所帮助!!
; d1 H( [; J5 K关于Windows Installer服务出错解决方法
% `; l5 y$ P2 c5 c7 R% I: W3 J方法一:6 g/ ]5 X/ y( ^# [( E) ]* \" G
卸载,重新安装windows installer服务 9 ?& R" @" S5 [3 G5 k
一、先用msiexec /unregserver 停掉windows installer服务。 0 M- {2 G8 D0 @1 I5 i
二、下载InstMsiW.exe,用winrar解压开。进入目录。 , Q7 D$ Z) t; U7 o0 Q; g* {* p4 t
三、右击msi.inf ,点击安装,右击mspatcha.inf ,点击安装。 * e& }7 ^2 Y% n# H0 `; w0 ~
四、再用msiexec.exe /regserver 启用服务。
" _- C8 C( {8 l方法二:
8 _3 a. M4 s" [: @2 q" I8 e* y; I; b& U1.如果曾安装过ACDSee5.0(包括迷你中文版),卸载它。如果还不行就重装Windows7 n& k$ P6 S, f F
Installer 或者ACDSee 4.0$ ~1 r7 A6 M" G+ l4 ^
2.运行cmd,然后运行sfc/scannow检查系统文件
' m# p9 M/ E$ l' U) F' N7 [3.运行Services.msc,把Windows Installer 服务设置为手动运行,然后重新运行
8 [ T2 s: y9 `( o4 x1 H4.打开任务管理器,找到并结束ikernel.exe进程,重新安装& Z. Y: p0 ^8 }
5.禁用杀毒软件的实时防护
, B- o6 x, U- l6.删除 C:\Program Files\Common Files\InstallShield\Engine\6\Intel 32这个文
5 }) x0 H, C3 D; M" c" q" d) \件夹中的所有文件,然后重启动电脑,重新运行安装程序- z) I/ r. |5 m+ |2 C/ s% B
或者查看下面的网页:. `, `6 a, K+ a; I: v9 J
安装程序安装出错解决方法之葵花宝典 moonet(翻译)8 G+ V5 D M6 H, ~2 B
http://www.csdn.net/develop/article/18/18184.shtm
% Z. a6 p' W# f, _4 N. n/ K
7 {2 x! x7 x# B$ `) n o方法三:8 [% S' t' G7 |' ]6 q
这是由于一些软件制作的问题导致windows installer不能正常工作$ E3 k& `$ o" \6 Q) D
恢复步骤如下:# f3 a, P3 Q# a2 U& w l; p
1.再次安装windows installer2.0,运行instmsiw.exe
. d7 o+ ^# H) ?& A如果说"服务已经安装"然后直接退出安装就再跟着做,否则你重装就OK了!8 Q) o" r( c" m* x+ I
2.删除注册表中的[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]
0 c6 h9 `0 f+ Y% z8 X0 v然后运行instmsiw.exe
9 }) Y, E* w9 T+ G. R( R3.绝招:' ~/ U2 }6 K+ g Y$ }
(1) 删除msiserver 服务3 A/ c! R, L7 F3 E
运行regedit,删除下面的MSIServer 服务, N, m& _# V, P b, g& T
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]$ |" l* U7 i2 a+ L+ ^9 W9 H& U* P
把下面的内容存为unmsiserver.reg 文件,然后双击左键,把它合并进注册表中
# |' m# L6 d& P* b;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3 l; k" k$ e* ]" };unmsiserver.reg
) b+ i( H3 U9 `+ `$ g9 cWindows Registry Editor Version 5.00
( Y/ p# E1 e6 H[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]* p C( D, w% [7 S/ {
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6 N' t+ E& X8 k6 L \2 e8 `$ `8 y* k
(2) 删除msi 的文件
" p/ E4 W o4 _& s( ?; v9 J用下面的脚本存为一个unmsi.inf文件,然后在inf文件上右键单击install,就会删除一些msi的dll,这时windows 的 sfc机制可能警告一些系统文件被修改要求插入win2k的光盘,不理睬它。这个脚本是我从instmsiw.exe中修改得来的。9 b/ X- J6 ?: ?( i
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5 A7 D' {1 Z( W; w. V8 Q3 q
;unmsi.inf7 U' \5 L' o4 n9 B& X7 P5 @7 G
;;;;;;;;;;;;;;;;;7 G0 C( U2 O$ M% _- h
[Version]
! p/ E* s( Q' Y# K& M: N$ Csignature = "$Windows NT$": J4 k% g2 R: c. I3 M
Class = %ExceptionClassDesc%# D+ ^" P) }/ `9 F( J
ClassGUID = {F5776D81-AE53-4935-8E84-B0B283D8BCEF}5 L L0 M2 }" e+ w) I5 H. [8 N
Provider = %Microsoft%: [9 H1 c5 G) ]: N. h) S# ~
CatalogFile = msi.cat1 h# [% f% j) y+ |1 S
ComponentId = {2E742517-5D48-4DBD-BF93-48FDCF36E634} ; GUID assigned to the Windows Installer
9 w: @: _- p( q" y! [) U/ g, ODriverVer=03-13-2001, 2.0.2460.1
0 M" A' Y) p- F% ?! a+ U[SourceDisksNames]
* m9 [) K# \" M2 {4 m& } m2 M" l1 = %msi_media%' X! z8 I6 S0 l/ t' b4 T
[SourceDisksFiles]% p: `3 K# X& }) Y0 x
msi.dll = 1
& S$ n) \' g9 N& t Fmsihnd.dll = 1
* x u4 }/ M4 n" _msimsg.dll = 1. G5 P& N" H# l3 ~% P* T8 p+ _
msiexec.exe = 15 o! _, w5 V4 v/ b
msisip.dll = 10 c5 _5 A7 I) i% |& e/ M+ Y
[DestinationDirs]
8 o9 q$ T. `% e( ?$ UMsi.SystemFiles = 11 ; %windir%\system32+ K! F9 i4 w: f9 `9 o; t. [
Msi.DllCacheFiles = 11,dllcache ; %windir%\system32\dllcache
/ A9 S/ d, Y) w. K: j% I[DefaultInstall]
5 h# U+ i3 @' v1 c, @# h- W3 e {DelFiles = Msi.SystemFiles,Msi.DllCacheFiles
& g& G& V% s* Z8 w t;% b6 U6 F/ f7 U$ ]6 M
; COPYFLG_REPLACE_BOOT_FILE flag (0x1000) not necessary for
* o ^# u H5 X; q2 N7 D5 G; files in the dllcache
^% n4 s9 L, d, e p+ ]) U;) W, Z/ ~$ H& o j- E0 @- |; s3 B
[Msi.DllCacheFiles]
1 O, X% m& \2 H emsi.dll
7 O, h- [$ P) i+ Z, p6 @msihnd.dll
4 t* h9 S$ G& |7 Ymsimsg.dll* T! y- D l7 ?0 l6 s
msiexec.exe
" b! l# V& j; V6 y; m( [msisip.dll
; O" k: I0 O/ u- S+ E( }[Msi.SystemFiles]# E+ d" u* q, N. u: F- E
msi.dll + r9 ` k! |4 ]+ {' q8 I
msihnd.dll $ }$ ?/ P$ K* Y; Z$ ]7 l) ?
msimsg.dll ! |8 U1 K) L7 j9 T0 c3 k5 \4 P
msiexec.exe
; i. ~- I' K( F! f* t( [msisip.dll 5 r1 ?8 H9 l M
[Strings]
( t0 D) e( E6 g! b9 f6 A' MMicrosoft = "Microsoft Corporation"
" d, W5 k6 @1 ?9 c0 `msi_media = "Microsoft Windows Installer Distribution Media"
+ M7 \( ^$ Q% u5 P! z! t( oExceptionClassDesc = "Microsoft Windows Installer"
& Z" g8 Y( j1 C7 X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$ Q! V& v" M# n* m* j: b(3) 重新启动,按F8键,进入带命令行的安全模式,执行下面的命令
7 n+ G1 i# |: ~/ ?; s! J- Sregsvr32 /u %windir%\msi.dll
: i5 }/ [1 p1 xdel %windir%\msi.dll" x- u+ |$ H: w7 @) A) S* a& p
(4) 重启动,运行instmsiw.exe,安装windows installer2.0 ,一切OK。
) \, M& |( y& y8 k" c
6 `# B+ x& m5 O. W5 a***************************************************************************5 D) ~8 R6 {. Z% j) t
近日在网上闲逛,发现Vmware出4.0版了。这可是我最喜欢用的虚拟机软件啊!赶快下载,却发现安装不上,系统提示“不能访问Windows Installer服务”。再试一次,还是如此。打开“管理工具”下的“服务”,找到Windows Installer,查看其属性,发现启动类型为“自动”,服务状态为“已停止”,心想可能是什么时候把服务关了吧,单击“启动”按钮,咦?无法启动了!Windows提示“在本地计算机无法启动 Windows Installer 服务。错误 5: 拒绝访问”。自动不行,就用手动!结果还是出现同样的提示!重新启动电脑后故障依旧,更严重的是,只要是使用MSI文件来安装的软件,现在都无法安装和卸载了!
& c" q0 V* a2 E0 f; t赶紧上网请教高手吧,论坛上支招的高人真不少,总结起来有四招:一是检查当前用户有没有管理员权限(但我的电脑只有Administrator一个用户);二是下载最新的Windows Installer 2.0版;三是结束进程IKERNEL.EXE后再安装;四是删除系统安装目录Program Files\Common Files\InstallShield\Engine下的所有文件再安装。
7 r( J: r! M I我按照高手们所说的一一操作,但依旧无法进行安装!重试过很多次后,“拒绝访问”四个字提醒了我:难道是C盘访问权限的原因?我的硬盘是NTFS格式的,前一段时间RPC漏洞弄得人心惶惶,我打上了补丁后还不放心,删除了Everyone组,另添加了Administrator对硬盘的完全控制权。难道是这个原因?我试着在“C盘→属性→安全”选项卡下添加Everyone组后,启动Windows Installer服务,居然成功了! ( S4 ~+ B) [" i* Z
重试几次后发现,其实只需要给Everyone组赋予“读取及运行”、“列出文件夹目录”、“读取”三项权限其中之一,就可以解决Windows Installer无法启动的问题。如果顾及隐私和安全问题的话,只赋予Everyone组“列出文件夹目录”权限即可。使用Windows 2000/XP和NTFS分区的朋友们,如果你的Windows Installer也出了问题,可别忘了我的这番经历哦!
. Z4 D: x0 C* Q6 K" a4 u2 y. C- \**************************************************************************$ M8 R9 O2 L# K
一、先用msiexec /unregserver 停掉windows installer服务。9 I/ E) N' a0 C& C2 E) g: m# P& t
二、下载InstMsiW.exe,用winrar解压开。进入目录。
# g8 L5 A4 m, u5 Q* M) U三、右击msi.inf ,点击安装,右击mspatcha.inf ,点击安装。
6 K7 H' G& x: ]+ k% g1 t四、再用msiexec.exe /regserver 启用服务。
3 O& b, ]$ m2 k" m. |; l# t问题二:; P5 w2 B1 i5 F' k7 n' B
以上的问题解决后,在我安装vpc的时候,又碰到这个问题:Error -1607: Unable to Install InstallShield Scripting Run Time
6 L" s/ B6 e" v1 `" I F查了相关的资料后,发现我安装的系统里没有ISScript.exe.! G0 n/ y6 @6 J) P7 k; k
所以我下载并更新了IkernelUpdate.exe and IsScript7x.zip...问题就解决了。! q; M$ m2 e6 o2 j, E
当然很多时候出错的原因不一定相同,解决的方法也不一定一样,我只是把我的解决方法拿出来,算是一个参考。 6 x I9 P, |. h& V& ?
**************************************************************************
! }& E( _0 M9 [! B* f- p" {& k$ CWindows XP解决过程:
( }/ [4 W4 t/ Z1 eWindows XP集成了最新版本的Windows Installer v2.0,但在Windows XP里安装MSI程序也会经常出现”找不到windows installer服务”“的错误。
r) P9 o+ M) [& A& c第一步:使用记事本编写installer.reg文件,内容如下: 8 @6 ] E$ V$ J3 v0 p x8 v
Windows Registry Editor Version 5.00 % t: m- @* n L* u
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer] : D+ M! ?& M+ i
"ImagePath"=-
6 h, I0 g) q2 A, n3 s3 G+ n% d) O"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
$ _# M9 L& |! s$ ]1 ~$ h74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,\ & f2 S- r( ?2 V" i3 u
00,73,00,69,00,65,00,78,00,65,00,63,00,2e,00,65,00,78,00,65,00,20,00,2f,00,\
|6 @! X9 n$ d0 S56,00,00,00 u& e* x8 u" G# o9 B9 Z8 b; d
然后将文件保存为”.reg“格式,双击该文件,将文件内容导入注册表。
' S# N% q7 M; Q- T8 W5 ^9 _2 R第二步:重新启动电脑进入安全模式(启动时按F8键),然后点击”开始-->运行“,输入”CMD“命令,在弹出的”CMD命令提示符“窗口中输入”msiexec /regserver“,最后重新启动系统即可。 |