关于Windows Installer服务出错解决方法.docx

上传人:b****8 文档编号:30682288 上传时间:2023-08-19 格式:DOCX 页数:25 大小:34.19KB
下载 相关 举报
关于Windows Installer服务出错解决方法.docx_第1页
第1页 / 共25页
关于Windows Installer服务出错解决方法.docx_第2页
第2页 / 共25页
关于Windows Installer服务出错解决方法.docx_第3页
第3页 / 共25页
关于Windows Installer服务出错解决方法.docx_第4页
第4页 / 共25页
关于Windows Installer服务出错解决方法.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

关于Windows Installer服务出错解决方法.docx

《关于Windows Installer服务出错解决方法.docx》由会员分享,可在线阅读,更多相关《关于Windows Installer服务出错解决方法.docx(25页珍藏版)》请在冰豆网上搜索。

关于Windows Installer服务出错解决方法.docx

关于WindowsInstaller服务出错解决方法

关于WindowsInstaller服务出错解决方法很多朋友在安装MSI格式的文件包时,经常会遇到windowsinstaller出错的情况,有如下几种现象:

1、所有使用windowsinstaller服务安装的MSI格式程序均不能正常安装,并且系统提示“不能访问windowsinstaller服务,可能你在安全模式下运行windows,或者windowsinstaller没有正确的安装,请和你的支持人员联系以获得帮助”。

2、察看“windowsinstaller服务”的状态,一般为停用,当你试图启用此服务,会发现此服务已被系统禁用,或则windowsinstaller服务已被标记为删除。

3、如果你重新安装windowsinstaller服务,系统提示“指定的服务已存在”。

当出现了以上现象,是非常令人头疼的,而且问题难以解决,后来经自己研究发现一些非常好的解决方法。

笔者以Windows2000和WindowsXP系统为例,根据它们出现的不同问题分别介绍一下解决过程:

一、Windows2000解决过程:

在Windows2000系统中3种现象都是经常出现的。

第一步:

点击”开始-->运行“,输入”CMD“命令,在弹出的”CMD命令提示符“窗口中输入”msiexec/unregserver“命令,这样就停掉windowsinstaller服务。

第二步:

下载windowsinstaller服务安装程序包,Windows2000/NT系统的安装程序包为”InstMsiW.exe“,Windows98/ME安装程序包为"InstMsiA.exe",WindowsXP系统则集成了最新版本的WindowsInstallerv2.0。

下载”InstMsiW.exe“安装程序包后,将其用winrar解压开,然后进入到此目录中。

第三步:

右键单击”msi.inf“文件,点击”安装“选项,接着右键单击”mspatcha.inf“文件,点击”安装“。

第四步:

在CMD命令提示符下输入”msiexec/regserver“命令,这样就启动了windowsinstaller服务,重新启动Windows2000系统后,问题就得到解决。

注意:

在安装两个inf文件的过程中,不要重新启动系统,全部操作完成后才能重启,另外,如果系统安装了”瑞星病毒防火墙”和“瑞星网络防火墙”,建议在操作过程中关闭瑞星防火墙。

二、WindowsXP解决过程:

WindowsXP集成了最新版本的WindowsInstallerv2.0,但在WindowsXP里安装MSI程序也会经常出现”找不到windowsinstaller服务”“的错误。

第一步:

使用记事本编写installer.reg文件,内容如下:

WindowsRegistryEditorVersion5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]

"ImagePath"=-

"ImagePath"=hex

(2):

25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\

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,\

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,\

56,00,00,00

然后将文件保存为”.reg“格式,双击该文件,将文件内容导入注册表。

第二步:

重新启动电脑进入安全模式(启动时按F8键),然后点击”开始-->运行“,输入”CMD“命令,在弹出的”CMD命令提示符“窗口中输入”msiexec/regserver“,最后重新启动系统即可。

postedon2004年8月29日16:

30

关于WindowsInstaller服务出错解决方法

方法一:

卸载,重新安装windowsinstaller服务

一、先用msiexec/unregserver停掉windowsinstaller服务。

二、下载InstMsiW.exe,用winrar解压开。

进入目录。

三、右击msi.inf,点击安装,右击mspatcha.inf,点击安装。

四、再用msiexec.exe/regserver启用服务。

方法二:

1.如果曾安装过ACDSee5.0(包括迷你中文版),卸载它。

如果还不行就重装Windows

Installer或者ACDSee4.0

2.运行cmd,然后运行sfc/scannow检查系统文件

3.运行Services.msc,把WindowsInstaller服务设置为手动运行,然后重新运行

4.打开任务管理器,找到并结束ikernel.exe进程,重新安装

5.禁用杀毒软件的实时防护

6.删除C:

\ProgramFiles\CommonFiles\InstallShield\Engine\6\Intel32这个文

件夹中的所有文件,然后重启动电脑,重新运行安装程序

或者查看下面的网页:

安装程序安装出错解决方法之葵花宝典moonet(翻译)

方法三:

这是由于一些软件制作的问题导致windowsinstaller不能正常工作

恢复步骤如下:

1.再次安装windowsinstaller2.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

WindowsRegistryEditorVersion5.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="$WindowsNT$"

Class=%ExceptionClassDesc%

ClassGUID={F5776D81-AE53-4935-8E84-B0B283D8BCEF}

Provider=%Microsoft%

CatalogFile=msi.cat

ComponentId={2E742517-5D48-4DBD-BF93-48FDCF36E634};GUIDassignedtotheWindowsInstaller

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_FILEflag(0x1000)notnecessaryfor

;filesinthedllcache

[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="MicrosoftCorporation"

msi_media="MicrosoftWindowsInstallerDistributionMedia"

ExceptionClassDesc="MicrosoftWindowsInstaller"

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(3)重新启动,按F8键,进入带命令行的安全模式,执行下面的命令

regsvr32/u%windir%\msi.dll

del%windir%\msi.dll

(4)重启动,运行instmsiw.exe,安装windowsinstaller2.0,一切OK。

症状一:

删除某个程序后,在运行某些软件时,老会弹出一个“windows正在配置WindowsInstaller,请稍候”的窗口。

解决办法:

1、重新安装WindowsInstaller,officeXP安装盘的根目录有两个名为instmsi.exe和InstMsiW.exe的文件,instmsi.exe用于win9X/Me,InstMsiW.exe用于Win2000/XP;

2、打开组策略→计算机配置→管理模板→Windows组件→WindowsInstaller→禁用WindowsInstaller,只是这样一来,很多软件就有能安装了,此法用于Win2000/XP。

3、请看本文最后的“终级解决方案”

症状二:

Win2000/XP安装软件时提示“无法访问windows安装程序,服务中windowsInstaller状态为停止,不能启动”

解决办法:

1、命令提示符下输入:

misiexec/regserver

2、在“管理工具”→“服务”中启动windowsInstaller

症状三:

Win2000/XP安装软件时提示“不能访问WindowsInstaller服务……”

解决办法:

1、检查当前用户有无管理员权限;

2、结束进程Ikernel.exe后再安装;

3、删除系统安装目录ProgramFiles\CommonFiles\InstallShield\Engine下的所有文件再安装。

4、首先,运行“msiexec/unregserver”,停止WindowsInstaller服务;

接着,安装InstMsiW.exe(officeXP安装盘的根目录下有,也可以从网上下载,地址为:

...EN-US/InstMsiW.exe),用Winrar解压至设定的目录;进入目录,右键点击msi.inf,选“安装”,右键点击mspatcha.inf,选安装;

最后运行“msiexec/regserver”启用服务。

症状四:

安装软件时提示“系统管理员设置了系统策略,禁止进行此项安装”

解决办法:

1、尝试用症状三的解决方法;

2、打开组策略→用户配置→管理模板→Windows组件→Windows安装服务→将“禁止从媒体安装”设为“禁用”,将“永远以高特权进行安装”设置为“启用”

以上问题的终级解决方案:

下载安装微软提供的WindowsInstallerCleanUpUtility1.0,它的主要功能是清除程序的WindowsInstaller配置信息。

启动该工具,它会列出目前系统中所有WindowsInstaller使用安装的软件,选中出问题的软件,然后点“Remove”按钮即可。

注Windowsinstaller介绍:

WindowsInstaller(windows安装服务)是一种通用的软件发布方式,现在许多软件都使用windowsInstaller作为自己的安装程序,有时因为各种原因以及windowsInstaller本身的缺陷,会导致windowsInstaller出错。

网络监听-网络监听攻击技术

在网络中,当信息进行传播的时候,可以利用工具,将网络接口设置在监听的模式,便可将网络中正在传播的信息截获或者捕获到,从而进行攻击。

网络监听在网络中的任何一个位置模式下都可实施进行。

而黑客一般都是利用网络监听来截取用户口令。

比如当有人占领了一台主机之后,那么他要再想将战果扩大到这个主机所在的整个局域网话,监听往往是他们选择的捷径。

很多时候我在各类安全论坛上看到一些初学的爱好者,在他们认为如果占领了某主机之后那么想进入它的内部网应该是很简单的。

其实非也,进入了某主机再想转入它的内部网络里的其它机器也都不是一件容易的事情。

因为你除了要拿到他们的口令之外还有就是他们共享的绝对路径,当然了,这个路径的尽头必须是有写的权限了。

在这个时候,运行已经被控制的主机上的监听程序就会有大收效。

不过却是一件费神的事情,而且还需要当事者有足够的耐心和应变能力。

网络监听-█网络监听的原理

Ethernet(以太网,它是由施乐公司发明的一种比较流行的局域网技术,它包含一条所有计算机都连接到其上的一条电缆,每台计算机需要一种叫接口板的硬件才能连接到以太网)协议的工作方式是将要发送的数据包发往连接在一起的所有主机。

在包头中包括有应该接收数据包的主机的正确地址,因为只有与数据包中目标地址一致的那台主机才能接收到信息包,但是当主机工作在监听模式下的话不管数据包中的目标物理地址是什么,主机都将可以接收到。

许多局域网内有十几台甚至上百台主机是通过一个电缆、一个集线器连接在一起的,在协议的高层或者用户来看,当同一网络中的两台主机通信的时候,源主机将写有目的的主机地址的数据包直接发向目的主机,或者当网络中的一台主机同外界的主机通信时,源主机将写有目的的主机IP地址的数据包发向网关。

但这种数据包并不能在协议栈的高层直接发送出去,要发送的数据包必须从TCP/IP协议的IP层交给网络接口,也就是所说的数据链路层。

网络接口不会识别IP地址的。

在网络接口由IP层来的带有IP地址的数据包又增加了一部分以太祯的祯头的信息。

在祯头中,有两个域分别为只有网络接口才能识别的源主机和目的主机的物理地址这是一个48位的地址,这个48位的地址是与IP地址相对应的,换句话说就是一个IP地址也会对应一个物理地址。

对于作为网关的主机,由于它连接了多个网络,它也就同时具备有很多个IP地址,在每个网络中它都有一个。

而发向网络外的祯中继携带的就是网关的物理地址。

Ethernet中填写了物理地址的祯从网络接口中,也就是从网卡中发送出去传送到物理的线路上。

如果局域网是由一条粗网或细网连接成的,那么数字信号在电缆上传输信号就能够到达线路上的每一台主机。

再当使用集线器的时候,发送出去的信号到达集线器,由集线器再发向连接在集线器上的每一条线路。

这样在物理线路上传输的数字信号也就能到达连接在集线器上的每个主机了。

当数字信号到达一台主机的网络接口时,正常状态下网络接口对读入数据祯进行检查,如果数据祯中携带的物理地址是自己的或者物理地址是广播地址,那么就会将数据祯交给IP层软件。

对于每个到达网络接口的数据祯都要进行这个过程的。

但是当主机工作在监听模式下的话,所有的数据祯都将被交给上层协议软件处理。

当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网的时候,那么要是有一台主机处于监听模式,它还将可以接收到发向与自己不在同一个子网(使用了不同的掩码、IP地址和网关)的主机的数据包,在同一个物理信道上传输的所有信息都可以被接收到。

在UNIX系统上,当拥有超级权限的用户要想使自己所控制的主机进入监听模式,只需要向Interface(网络接口)发送I/O控制命令,就可以使主机设置成监听模式了。

而在Windows9x的系统中则不论用户是否有权限都将可以通过直接运行监听工具就可以实现了。

在网络监听时,常常要保存大量的信息(也包含很多的垃圾信息),并将对收集的信息进行大量的整理,这样就会使正在监听的机器对其它用户的请求响应变的很慢。

同时监听程序在运行的时候需要消耗大量的处理器时间,如果在这个时候就详细的分析包中的内容,许多包就会来不及接收而被漏走。

所以监听程序很多时候就会将监听得到的包存放在文件中等待以后分析。

分析监听到的数据包是很头疼的事情。

因为网络中的数据包都非常之复杂。

两台主机之间连续发送和接收数据包,在监听到的结果中必然会加一些别的主机交互的数据包。

监听程序将同一TCP会话的包整理到一起就相当不容易了,如果你还期望将用户详细信息整理出来就需要根据协议对包进行大量的分析。

Internet上那么多的协议,运行进起的话这个监听程序将会十分的大哦。

现在网络中所使用的协议都是较早前设计的,许多协议的实现都是基于一种非常友好的,通信的双方充分信任的基础。

在通常的网络环境之下,用户的信息包括口令都是以明文的方式在网上传输的,因此进行网络监听从而获得用户信息并不是一件难点事情,只要掌握有初步的TCP/IP协议知识就可以轻松的监听到你想要的信息的。

前些时间美籍华人China-babble曾提出将望路监听从局域网延伸到广域网中,但这个想法很快就被否定了。

如果真是这样的话我想网络必将天下大乱了。

而事实上现在在广域网里也可以监听和截获到一些用户信息。

只是还不够明显而已。

在整个Internet中就更显得微不足道了。

下面是一些系统中的著名的监听程序,你可以自己尝试一下的。

Windows9x/NTNetXRay

DECUnix/LinuxTcpdump

SolarisNfswatch

SunOSEtherfind

网络监听-█检测网络监听的方法

网络监听在上述中已经说明了。

它是为了系统管理员管理网络,监视网络状态和数据流动而设计的。

但是由于它有着截获网络数据的功能所以也是黑客所惯用的伎俩之一。

一般检测网络监听的方法通过以下来进行:

?

网络监听说真的,是很难被发现的。

当运行监听程序的主机在进听的过程中只是被动的接收在以太网中传输的信息,它不会跟其它的主机交换信息的,也不能修改在网络中传输的信息包。

这就说明了网络监听的检测是比较麻烦的事情。

一般情况下可以通过ps-ef或者ps-aux来检测。

但大多实施监听程序的人都会通过修改ps的命令来防止被ps-ef的。

修改ps只需要几个shell把监听程序的名称过滤掉就OK了。

一能做到启动监听程序的人也绝对不是个菜的连这个都不懂的人了,除非是他懒。

上边提到过。

当运行监听程序的时候主机响应一般会受到影响变的会慢,所以也就有人提出来通过响应的速率来判断是否受到监听。

如果真是这样判断的话我想世界真的会大乱了,说不准一个时间段内会发现无数个监听程序在运行呢。

呵呵。

如果说当你怀疑网内某太机器正在实施监听程序的话(怎么个怀疑?

那要看你自己了),可以用正确的IP地址和错误的物理地址去ping它,这样正在运行的监听程序就会做出响应的。

这是因为正常的机器一般不接收错误的物理地址的ping信息的。

但正在进听的机器就可以接收,要是它的IPstack不再次反向检查的话就会响应的。

不过这种方法对很多系统是没效果的,因为它依赖于系统的IPstack。

另一种就是向网上发大量不存在的物理地址的包,而监听程序往往就会将这些包进行处理,这样就会导致机器性能下降,你可以用icmpechodelay来判断和比较它。

还可以通过搜索网内所有主机上运行的程序,但这样做其的难度可想而知,因为这样不但是大的工作量,而且还不能完全同时检查所有主机上的进程。

可是如果管理员这样做也会有很大的必要性,那就是可以确定是否有一个进程是从管理员机器上启动的。

在Unix中可以通过ps–aun或ps–augx命令产生一个包括所有进程的清单:

进程的属主和这些进程占用的处理器时间和内存等。

这些以标准表的形式输出在STDOUT上。

如果某一个进程正在运行,那么它将会列在这张清单之中。

但很多黑客在运行监听程序的时候会毫不客气的把ps或其它运行中的程序修改成TrojanHorse程序,因为他完全可以做到这一点的。

如果真是这样那么上述办法就不会有结果的。

但这样做在一定程度上还是有所作为的。

在Unix和WindowsNT上很容易就能得到当前进程的清单了。

但DOS、Windows9x好象很难做到哦,具体是不是我没测试过不得而知。

还有一种方式,这种方式要靠足够的运气。

因为往往黑客所用的监听程序大都是免费在网上得到的,他并非专业监听。

所以做为管理员用来搜索监听程序也可以检测。

使用Unix可以写这么一个搜索的小工具了,不然的话要累死人的。

呵呵。

有个叫Ifstatus的运行在Unix下的工具,它可以识别出网络接口是否正处于调试状态下或者是在进听装下。

要是网络接口运行这样的模式之下,那么很有可能正在受到监听程序的攻击。

Ifstatus一般情况下不会产生任何输出的,当它检测到网络的接口处于监听模式下的时候才回输出。

管理员可以将系统的cron参数设置成定期运行Ifstatus,如果有好的cron进程的话可以将它产生的输出用mail发送给正在执行cron任务的人,要实现可以在crontab目录下加****/usr/local/etc/ifstatus一行参数。

这样不行的话还可以用一个脚本程序在c

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1