OK!有必要试一试,我这里也找到了一些关于 Installer 报错的解决方案,希望对大家有所帮助!!3 w% d3 `) C& r0 F/ Q
关于Windows Installer服务出错解决方法 ; q) b, o. K# |7 t# f8 w: u
方法一:$ {2 x$ g& e! y4 F! e/ k) c( w3 F
卸载,重新安装windows installer服务
( k) l3 a& d8 [$ i一、先用msiexec /unregserver 停掉windows installer服务。 - J" n, w" i# _# U
二、下载InstMsiW.exe,用winrar解压开。进入目录。
+ P3 e+ d8 x9 F5 w0 K# e! w三、右击msi.inf ,点击安装,右击mspatcha.inf ,点击安装。 ) \% A, N' h7 J# \3 F0 P
四、再用msiexec.exe /regserver 启用服务。
3 p* m- M# ]* @( ~: U方法二:
. G7 U) r! l; O" ?/ p" }6 k N3 T1.如果曾安装过ACDSee5.0(包括迷你中文版),卸载它。如果还不行就重装Windows
% f Q! t4 a- K: k: iInstaller 或者ACDSee 4.0' j, K Q. Q# V# L% r2 K
2.运行cmd,然后运行sfc/scannow检查系统文件
& K* _' a0 J; o; U2 @+ @$ n3.运行Services.msc,把Windows Installer 服务设置为手动运行,然后重新运行
$ k# q+ e h( R4.打开任务管理器,找到并结束ikernel.exe进程,重新安装6 P0 p- L6 Q/ _3 h, `5 X: K
5.禁用杀毒软件的实时防护" A& Y) t9 G( U' Z- k
6.删除 C:\Program Files\Common Files\InstallShield\Engine\6\Intel 32这个文4 m v; [. }! M8 V
件夹中的所有文件,然后重启动电脑,重新运行安装程序
4 V! B3 W8 v3 u' r" n3 H; A1 t或者查看下面的网页:! Q7 C4 j# i1 X! Y. Y* _
安装程序安装出错解决方法之葵花宝典 moonet(翻译)6 N; Y9 _7 H7 u7 c2 c% o
http://www.csdn.net/develop/article/18/18184.shtm ; M \# {/ m6 v2 t1 N% }
+ S( q- D8 [4 P+ ?2 M0 h+ a; D
方法三:. y `% N: i5 [( ^
这是由于一些软件制作的问题导致windows installer不能正常工作+ `1 H4 K7 D& }0 Q1 T/ Z( f
恢复步骤如下:/ _3 n1 T2 f# R6 D7 R
1.再次安装windows installer2.0,运行instmsiw.exe
: e2 P. P4 r7 k* [$ n' P! e如果说"服务已经安装"然后直接退出安装就再跟着做,否则你重装就OK了!# k. A+ w! J) j; @& `) D' |
2.删除注册表中的[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]; m$ o: D+ d1 f% Q8 Z: g
然后运行instmsiw.exe
6 G( N3 A5 K0 h! Z2 z9 b7 b: v3.绝招:
) l( A5 f% W3 Q" L8 t# O ^(1) 删除msiserver 服务( n# n. P4 @ N1 ^$ N, m, X) }
运行regedit,删除下面的MSIServer 服务
0 P6 F9 y, D. R' K2 i w[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]6 }4 D# W( K( ?0 Z
把下面的内容存为unmsiserver.reg 文件,然后双击左键,把它合并进注册表中
" T" `. f/ S& }5 l; u;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8 B. }6 ?+ s* M7 W/ }
;unmsiserver.reg4 n" X, ~: D% V" k+ k5 p
Windows Registry Editor Version 5.00
! U! A3 C8 j0 ?( M% ~, X. ?[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]
1 C. \. a0 j8 L1 J7 x;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;% _: @( {, Z2 n1 t' f
(2) 删除msi 的文件! {% l( K n, L: {0 o( ?
用下面的脚本存为一个unmsi.inf文件,然后在inf文件上右键单击install,就会删除一些msi的dll,这时windows 的 sfc机制可能警告一些系统文件被修改要求插入win2k的光盘,不理睬它。这个脚本是我从instmsiw.exe中修改得来的。8 M* f+ Y# n6 |/ R) c; ]$ `
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;. @/ Q W' \, ~" d6 R* T; r( J
;unmsi.inf( T, D/ p, m5 [
;;;;;;;;;;;;;;;;;
5 w/ e: ^2 T1 \* q7 F6 I7 j9 i* S[Version]- I7 x; o4 K: ^1 R! E k$ a6 C" `
signature = "$Windows NT$"9 k5 w; V0 r. O0 h5 _; T8 E
Class = %ExceptionClassDesc%6 g3 ~' Q4 j8 n& L0 L. i1 |
ClassGUID = {F5776D81-AE53-4935-8E84-B0B283D8BCEF}
/ B* S: T6 e- e3 w# J3 v: AProvider = %Microsoft%
' q7 w. O5 X& MCatalogFile = msi.cat
5 e9 C: f$ S- W* f3 [* _$ Y! kComponentId = {2E742517-5D48-4DBD-BF93-48FDCF36E634} ; GUID assigned to the Windows Installer3 T4 q- z3 R. I% b6 C
DriverVer=03-13-2001, 2.0.2460.1! A' a7 N _; |2 N& o
[SourceDisksNames]
( ]5 t& c. Y, {0 }1 = %msi_media%
& Q4 M- `: M% X3 B: I[SourceDisksFiles]- D( f" c! Q5 E1 j( c. B- A
msi.dll = 18 f1 i+ q' _3 v% H( o
msihnd.dll = 1
3 a6 O/ `2 u" l6 u$ ~: l, P& gmsimsg.dll = 17 Q; s6 L! N, c- \+ z
msiexec.exe = 1" A8 w5 u8 m: T5 ?, H
msisip.dll = 1
) m! k4 W# l* W; r. _8 s[DestinationDirs]# [& J4 i% s7 x" ~
Msi.SystemFiles = 11 ; %windir%\system32
5 L2 I) W. C% X# p ]5 O4 oMsi.DllCacheFiles = 11,dllcache ; %windir%\system32\dllcache
7 \4 ?) S& L% a$ @[DefaultInstall]
1 k8 A1 V) S# ~' P+ ~- `- \DelFiles = Msi.SystemFiles,Msi.DllCacheFiles5 X; V* B+ F0 t e6 c* |
;
; A0 S) W" {- m6 |# S8 l( \; COPYFLG_REPLACE_BOOT_FILE flag (0x1000) not necessary for1 i$ D: e9 g0 x9 m" X
; files in the dllcache5 S! o$ u; q0 u/ [- b
; @! M: R1 }0 q5 u/ B2 X
[Msi.DllCacheFiles]" W0 N$ {9 I l. ]$ M7 E- I1 w
msi.dll5 Z4 h" d- K4 b/ ]3 m/ \3 j2 p( b
msihnd.dll
* o3 n; d8 z, wmsimsg.dll3 O8 C6 O7 n8 D8 a6 U" W
msiexec.exe0 n, m- `: }* s; e* I# S
msisip.dll
' d2 u' y W5 |: u* g[Msi.SystemFiles]
) E9 K4 m* u9 M7 `) Y" T+ Dmsi.dll
% i+ P1 W$ ^- E8 D8 \3 m+ W' |0 c1 p9 Lmsihnd.dll " b5 d9 v* W( `3 e) Z1 J% p# N* H6 H
msimsg.dll 3 P+ U+ S3 a. h2 ]9 T# j+ d
msiexec.exe
, Q( R9 o0 |' D- ?msisip.dll
2 A5 P3 L# K; A% ~0 I[Strings]
& f5 u7 o7 G4 P( r3 }Microsoft = "Microsoft Corporation"2 }" A/ v) f; Q
msi_media = "Microsoft Windows Installer Distribution Media"
) |$ Z r& x& g, hExceptionClassDesc = "Microsoft Windows Installer" E9 ?' T$ j( M0 E
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;# K* `; v; T9 Q
(3) 重新启动,按F8键,进入带命令行的安全模式,执行下面的命令7 H* v* s ?6 b5 ^. Z( e, d) a
regsvr32 /u %windir%\msi.dll4 y8 u$ @5 \( p
del %windir%\msi.dll* E+ \. v* F9 R- V9 l2 k
(4) 重启动,运行instmsiw.exe,安装windows installer2.0 ,一切OK。
; \3 Q; F. h4 Z $ k4 t- C& F; g$ A) W7 Y
***************************************************************************) x3 ^/ Z5 |. |* [$ H5 z& s% D1 s
近日在网上闲逛,发现Vmware出4.0版了。这可是我最喜欢用的虚拟机软件啊!赶快下载,却发现安装不上,系统提示“不能访问Windows Installer服务”。再试一次,还是如此。打开“管理工具”下的“服务”,找到Windows Installer,查看其属性,发现启动类型为“自动”,服务状态为“已停止”,心想可能是什么时候把服务关了吧,单击“启动”按钮,咦?无法启动了!Windows提示“在本地计算机无法启动 Windows Installer 服务。错误 5: 拒绝访问”。自动不行,就用手动!结果还是出现同样的提示!重新启动电脑后故障依旧,更严重的是,只要是使用MSI文件来安装的软件,现在都无法安装和卸载了!
! c+ w9 m: a: p5 V1 N& [- e& }赶紧上网请教高手吧,论坛上支招的高人真不少,总结起来有四招:一是检查当前用户有没有管理员权限(但我的电脑只有Administrator一个用户);二是下载最新的Windows Installer 2.0版;三是结束进程IKERNEL.EXE后再安装;四是删除系统安装目录Program Files\Common Files\InstallShield\Engine下的所有文件再安装。
7 \. N0 i. ~' m4 j6 ^我按照高手们所说的一一操作,但依旧无法进行安装!重试过很多次后,“拒绝访问”四个字提醒了我:难道是C盘访问权限的原因?我的硬盘是NTFS格式的,前一段时间RPC漏洞弄得人心惶惶,我打上了补丁后还不放心,删除了Everyone组,另添加了Administrator对硬盘的完全控制权。难道是这个原因?我试着在“C盘→属性→安全”选项卡下添加Everyone组后,启动Windows Installer服务,居然成功了! ; G( N$ Y# ?5 ?) c* A# L
重试几次后发现,其实只需要给Everyone组赋予“读取及运行”、“列出文件夹目录”、“读取”三项权限其中之一,就可以解决Windows Installer无法启动的问题。如果顾及隐私和安全问题的话,只赋予Everyone组“列出文件夹目录”权限即可。使用Windows 2000/XP和NTFS分区的朋友们,如果你的Windows Installer也出了问题,可别忘了我的这番经历哦!
9 \( ~, p }$ a8 s0 b) O$ ^# U**************************************************************************2 Q4 c/ z3 z" _" l4 d9 c3 _" w
一、先用msiexec /unregserver 停掉windows installer服务。9 m( S3 o2 t5 c2 j
二、下载InstMsiW.exe,用winrar解压开。进入目录。
0 r" @- l$ j/ J9 f+ O0 t6 w \ ]( v三、右击msi.inf ,点击安装,右击mspatcha.inf ,点击安装。/ Y! M: |; l$ R s- e
四、再用msiexec.exe /regserver 启用服务。& F7 }3 S% R2 X4 v
问题二:2 x* N, c4 C' ]8 T7 K9 u
以上的问题解决后,在我安装vpc的时候,又碰到这个问题:Error -1607: Unable to Install InstallShield Scripting Run Time
( E1 x" F* v! R/ n" [查了相关的资料后,发现我安装的系统里没有ISScript.exe./ @* p0 S3 o+ u$ M- S& U9 r
所以我下载并更新了IkernelUpdate.exe and IsScript7x.zip...问题就解决了。
5 f' j0 B% l6 g5 J# k: ]- S7 a9 u8 D, \当然很多时候出错的原因不一定相同,解决的方法也不一定一样,我只是把我的解决方法拿出来,算是一个参考。 % ~' V+ N: l; W
**************************************************************************
a! l+ v, S& j8 ?; _/ EWindows XP解决过程:
3 C9 i+ v7 Q# y2 H5 a5 BWindows XP集成了最新版本的Windows Installer v2.0,但在Windows XP里安装MSI程序也会经常出现”找不到windows installer服务”“的错误。 - h4 ^4 O& B/ g: t% p/ b
第一步:使用记事本编写installer.reg文件,内容如下: & W. w1 e9 l$ Z; v' U( J
Windows Registry Editor Version 5.00 : z7 m9 z7 [5 B% t5 p0 B
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer] * u. k* }' w& H3 U
"ImagePath"=-
$ [9 S/ m+ F. z' L" K"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\ 2 V' r* A" h1 Q
74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,\
- Q" m# m# A2 f00,73,00,69,00,65,00,78,00,65,00,63,00,2e,00,65,00,78,00,65,00,20,00,2f,00,\ + ~/ E0 M m9 a& I7 r6 |
56,00,00,00
) N$ l$ ]% i; r x. t然后将文件保存为”.reg“格式,双击该文件,将文件内容导入注册表。 * |& L) J. A# b: R
第二步:重新启动电脑进入安全模式(启动时按F8键),然后点击”开始-->运行“,输入”CMD“命令,在弹出的”CMD命令提示符“窗口中输入”msiexec /regserver“,最后重新启动系统即可。 |