OK!有必要试一试,我这里也找到了一些关于 Installer 报错的解决方案,希望对大家有所帮助!!0 R. P( A/ ^" P; L: E/ h" B- Z/ D
关于Windows Installer服务出错解决方法
- B$ X1 A9 N% b方法一:) T2 A' V- g+ N! ~ x
卸载,重新安装windows installer服务 , n2 k+ L/ s7 q1 i
一、先用msiexec /unregserver 停掉windows installer服务。
; b B% _. ~4 U7 ~! E- W! _1 b( w二、下载InstMsiW.exe,用winrar解压开。进入目录。
) E$ V0 [% ~+ `三、右击msi.inf ,点击安装,右击mspatcha.inf ,点击安装。 : O+ N& t: A# V# J7 K
四、再用msiexec.exe /regserver 启用服务。 . S- a% e4 M8 l7 b- S/ y
方法二:
# q8 e6 Z% ]& O1.如果曾安装过ACDSee5.0(包括迷你中文版),卸载它。如果还不行就重装Windows1 H# Z) b1 d( F3 }$ |) J8 v
Installer 或者ACDSee 4.0
- }* O: L5 t4 D! z c2.运行cmd,然后运行sfc/scannow检查系统文件( b8 S6 ^" @& Y% D
3.运行Services.msc,把Windows Installer 服务设置为手动运行,然后重新运行: d$ L9 Q% K8 e/ F# i9 x2 V
4.打开任务管理器,找到并结束ikernel.exe进程,重新安装
' g: y0 x& O; l: }- |5.禁用杀毒软件的实时防护
8 R& k% U* H) {$ w6.删除 C:\Program Files\Common Files\InstallShield\Engine\6\Intel 32这个文; {- j: Y1 ~7 j
件夹中的所有文件,然后重启动电脑,重新运行安装程序! k8 I/ Q; s7 a) m
或者查看下面的网页:
8 E1 X& I/ o3 j9 `% o8 q安装程序安装出错解决方法之葵花宝典 moonet(翻译), c" ?) j+ \0 {1 ~1 r$ E
http://www.csdn.net/develop/article/18/18184.shtm
* s8 ]/ l" M; m3 u' ~" A( c
. Z, Y( W2 p' ^1 {3 p$ ~# q方法三:
% I Q' I3 l$ u这是由于一些软件制作的问题导致windows installer不能正常工作
1 `3 }8 T" ~5 u9 \7 M! G恢复步骤如下:
: L$ u8 D6 A5 {+ I3 a# ?0 I1.再次安装windows installer2.0,运行instmsiw.exe
: t# P$ ]0 m( S) O! o7 f) R如果说"服务已经安装"然后直接退出安装就再跟着做,否则你重装就OK了!% \7 ^- F* u8 A& A3 r8 c
2.删除注册表中的[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]" L0 N1 R' |4 @9 o' K
然后运行instmsiw.exe8 R1 G3 h U* \% I7 {: C0 i+ c
3.绝招:
7 W1 _6 C4 L( ^% o(1) 删除msiserver 服务
) P9 U, d5 B' Q8 N# J运行regedit,删除下面的MSIServer 服务8 a2 ~+ l- x1 O4 M% t/ [. i; Y; J
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]
9 g% H! g2 ^) q! I* y2 T( n: j把下面的内容存为unmsiserver.reg 文件,然后双击左键,把它合并进注册表中
: ~& r& a2 E# S, d;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
& _) U: z$ ~& y$ Z3 ];unmsiserver.reg. T% G7 ^ k4 u8 g1 z7 M
Windows Registry Editor Version 5.00' O& F& }2 P8 Q6 W
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]7 C+ ~6 S, u, c/ v* h1 G
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8 b+ a6 w' k; v8 a6 c3 A. T* x
(2) 删除msi 的文件% ]# H% T" H4 P5 I5 n0 Q
用下面的脚本存为一个unmsi.inf文件,然后在inf文件上右键单击install,就会删除一些msi的dll,这时windows 的 sfc机制可能警告一些系统文件被修改要求插入win2k的光盘,不理睬它。这个脚本是我从instmsiw.exe中修改得来的。9 g: G* {1 s$ \" d! k
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
# v. b( ]% w% Z9 D+ k6 z9 T' ^: r;unmsi.inf7 G0 o5 r/ @/ W+ g- s+ t/ F; e4 W) a
;;;;;;;;;;;;;;;;;
' y3 U4 I" b* J" s[Version]+ {8 L! P8 a# A: E& r8 V
signature = "$Windows NT$"
& F) O8 h; a% x! nClass = %ExceptionClassDesc%! v5 p( C3 W% Z! Q3 k
ClassGUID = {F5776D81-AE53-4935-8E84-B0B283D8BCEF}% ?, P% A# |$ K7 C0 G. \5 g3 d
Provider = %Microsoft%6 d$ O) d8 C4 t7 V
CatalogFile = msi.cat
5 O/ S3 L( S0 o: d, o! K, e% ?/ s; hComponentId = {2E742517-5D48-4DBD-BF93-48FDCF36E634} ; GUID assigned to the Windows Installer/ X7 i8 b4 l# @# w- g# A# G: O4 L3 |
DriverVer=03-13-2001, 2.0.2460.16 m5 b$ I8 p) Q- g5 v
[SourceDisksNames]: a* _! j- X+ Z6 H7 ?; q$ g
1 = %msi_media%" h& a& M% ~9 T9 I8 H- s* T' r
[SourceDisksFiles]$ |. j+ P. b5 r# }9 T. b
msi.dll = 1
e$ U V0 C' w+ L" jmsihnd.dll = 1
( u( `- Q' c kmsimsg.dll = 12 X2 j9 g; i7 m- V N
msiexec.exe = 1
3 _& r- u; `- ~! F( D1 U" tmsisip.dll = 1$ Y2 [9 C" J3 {" `
[DestinationDirs]
* ^' g+ |0 _0 ^8 U+ bMsi.SystemFiles = 11 ; %windir%\system32* K) O6 G- |/ [8 L% D# k
Msi.DllCacheFiles = 11,dllcache ; %windir%\system32\dllcache0 \7 w K+ A6 g: \/ }7 k! @9 N
[DefaultInstall]
$ _; z9 u: @# N6 aDelFiles = Msi.SystemFiles,Msi.DllCacheFiles: X H# O& @ g+ f
;
- Q1 I; ?. V3 _5 w" ?" n' p; g+ b; COPYFLG_REPLACE_BOOT_FILE flag (0x1000) not necessary for2 I! e( S8 X% Y+ t3 s
; files in the dllcache3 {3 U4 ~9 y/ |
;' b# f- u& ~& L, \
[Msi.DllCacheFiles]
4 B+ k7 S& V& N0 w7 N) Y6 w; e) gmsi.dll
\+ X5 `( [9 v$ wmsihnd.dll7 X, L& L% o/ A, e6 l) J! U# Y6 M
msimsg.dll
# \( z/ T; J2 lmsiexec.exe
0 d9 v: u4 ~# G& O7 [$ u% lmsisip.dll
3 `% s7 m5 i8 i- t5 }3 ][Msi.SystemFiles]9 Y8 Z; y! m ?, v' y2 n" h: w
msi.dll , N2 U; Q4 w- \* Y
msihnd.dll
, i& B, Y H+ Y ?msimsg.dll . \3 d& A2 g9 d/ i% Q( F- X* \' @
msiexec.exe G( E9 m$ A( w+ U1 c" _; n
msisip.dll
. P! \4 C7 y" u: w, I! _[Strings]0 N. [8 S- I8 M9 [8 @) T
Microsoft = "Microsoft Corporation"; [6 g+ c5 ]( U- b5 R: T
msi_media = "Microsoft Windows Installer Distribution Media"
9 S- Q8 m7 p- `* x- D, L- {ExceptionClassDesc = "Microsoft Windows Installer"
& J3 V9 i" v# Q9 z- a+ P;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3 E& R4 y; x/ {. H1 S# \8 A. R(3) 重新启动,按F8键,进入带命令行的安全模式,执行下面的命令% G1 m' E6 E3 }9 I) I
regsvr32 /u %windir%\msi.dll
7 z. {5 ?% M" u, W3 P8 H7 j+ Tdel %windir%\msi.dll
% ]1 G3 b3 G* c1 d3 m. x$ Q(4) 重启动,运行instmsiw.exe,安装windows installer2.0 ,一切OK。: m8 z5 d. D5 b" W: G y+ \0 s
7 v- N s7 o& y/ I, [
***************************************************************************
+ K) ~5 V! o7 j1 B; F ^1 v4 B' S近日在网上闲逛,发现Vmware出4.0版了。这可是我最喜欢用的虚拟机软件啊!赶快下载,却发现安装不上,系统提示“不能访问Windows Installer服务”。再试一次,还是如此。打开“管理工具”下的“服务”,找到Windows Installer,查看其属性,发现启动类型为“自动”,服务状态为“已停止”,心想可能是什么时候把服务关了吧,单击“启动”按钮,咦?无法启动了!Windows提示“在本地计算机无法启动 Windows Installer 服务。错误 5: 拒绝访问”。自动不行,就用手动!结果还是出现同样的提示!重新启动电脑后故障依旧,更严重的是,只要是使用MSI文件来安装的软件,现在都无法安装和卸载了! ( j- V- n8 T, A0 I
赶紧上网请教高手吧,论坛上支招的高人真不少,总结起来有四招:一是检查当前用户有没有管理员权限(但我的电脑只有Administrator一个用户);二是下载最新的Windows Installer 2.0版;三是结束进程IKERNEL.EXE后再安装;四是删除系统安装目录Program Files\Common Files\InstallShield\Engine下的所有文件再安装。
' M/ l' I: [; }+ U+ w我按照高手们所说的一一操作,但依旧无法进行安装!重试过很多次后,“拒绝访问”四个字提醒了我:难道是C盘访问权限的原因?我的硬盘是NTFS格式的,前一段时间RPC漏洞弄得人心惶惶,我打上了补丁后还不放心,删除了Everyone组,另添加了Administrator对硬盘的完全控制权。难道是这个原因?我试着在“C盘→属性→安全”选项卡下添加Everyone组后,启动Windows Installer服务,居然成功了! 7 w& r8 R5 \7 j3 T! {
重试几次后发现,其实只需要给Everyone组赋予“读取及运行”、“列出文件夹目录”、“读取”三项权限其中之一,就可以解决Windows Installer无法启动的问题。如果顾及隐私和安全问题的话,只赋予Everyone组“列出文件夹目录”权限即可。使用Windows 2000/XP和NTFS分区的朋友们,如果你的Windows Installer也出了问题,可别忘了我的这番经历哦! 5 v! n+ d6 C7 \1 f& R
**************************************************************************
5 q5 O! {: B1 Q K# @1 w# Y2 A一、先用msiexec /unregserver 停掉windows installer服务。+ K: g1 J( r. N# t5 |
二、下载InstMsiW.exe,用winrar解压开。进入目录。( n3 n7 N4 t+ n) y6 x5 d. Y7 r
三、右击msi.inf ,点击安装,右击mspatcha.inf ,点击安装。
& n; h$ s8 H( o) M& G4 B四、再用msiexec.exe /regserver 启用服务。6 Y5 W" _4 M8 X' `% _$ b7 i! u
问题二:
$ _0 J. y' d; I& f) L以上的问题解决后,在我安装vpc的时候,又碰到这个问题:Error -1607: Unable to Install InstallShield Scripting Run Time
1 k) l% Z i0 p查了相关的资料后,发现我安装的系统里没有ISScript.exe.4 q- p/ A& [- y6 R
所以我下载并更新了IkernelUpdate.exe and IsScript7x.zip...问题就解决了。0 N* t; `: h) H2 s, {+ X3 I
当然很多时候出错的原因不一定相同,解决的方法也不一定一样,我只是把我的解决方法拿出来,算是一个参考。 ( G& A. R; H7 J7 ~
**************************************************************************
4 P1 l1 e) |/ p5 m* NWindows XP解决过程:
0 [% L: o" s8 L; W5 [Windows XP集成了最新版本的Windows Installer v2.0,但在Windows XP里安装MSI程序也会经常出现”找不到windows installer服务”“的错误。
7 q& Y# z. g1 W" A l1 }第一步:使用记事本编写installer.reg文件,内容如下:
( ]( ]* W a5 {5 \' [! GWindows Registry Editor Version 5.00 $ n' |6 c l. u, K
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]
1 Q) Q! {1 U* M. G$ }"ImagePath"=- ; \' \5 x9 C' k/ J5 W
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\ ! j* G( [& G( S9 r b! S/ Q! Y
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,\
& ^6 ]3 B' j! g, W0 m00,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 t4 i1 Q6 Z5 ?
56,00,00,00
3 q/ a" s5 G$ A/ D- c' V然后将文件保存为”.reg“格式,双击该文件,将文件内容导入注册表。
) Z& ?! K3 B' E |, t% t第二步:重新启动电脑进入安全模式(启动时按F8键),然后点击”开始-->运行“,输入”CMD“命令,在弹出的”CMD命令提示符“窗口中输入”msiexec /regserver“,最后重新启动系统即可。 |