2013-04-15 99 views
7

错误1001.卸载时发生异常。此例外 将被忽略,卸载将继续。然而, 应用程序可能无法完全后卸载 完整卸载时发生错误1001

我无法卸载或安装应用程序卸载。这个特殊的盒子无法访问互联网,我没有物理访问权限,所以大部分的googleable结果都没有用,因为他们建议从微软运行一个exe文件。

解决此问题的手动步骤是什么?我无法实际接触到这台机器,也没有办法让我将文件上传到这台机器上。这是我正在开发和测试的代码。我试过修复并删除失败。我搜索了注册表,但是我必须在这里丢失一些东西。

如果这对SuperUsers更好,我会很乐意移动它。

+1

让我告诉你一个故事。曾几何时,一个安装程序缺陷标签声明无法卸载:错误1001.调查显示,开发人员编写了一个自定义操作,用于在安装过程中创建和启动服务,并在卸载期间停止/删除它。他并没有费心将代码封装在try catch中。安装在计算机上的开发人员使用SC命令删除服务,然后当卸载运行他的自定义操作时抛出异常并回滚安装程序。我告诉开发人员他正在重新开发..... –

+1

他应该利用Windows安装程序的内置功能(ServiceInstall,ServiceControl),而不是将低质量代码注入关键路径。我手动重新创建了服务并运行卸载。我注意到安装程序按照设计运行的票据,并将其重新分配给开发人员以修复其垃圾。事情发生了很多次,每当我看到1001张票时,我总是按照设计的功能将其关闭。 –

+0

我不完全确定它在IIS中运行后启动了一项服务,但它可能存在类似的情况。 – Rig

回答

9

我有相同的卸载问题,删除了我编写的包含两个Windows服务的应用程序,但是自定义操作是不可避免的。我解决了它运行PC Tools Registry Mechanic。不幸的是,赛门铁克已经退出了该产品。但是,Microsoft Fixit已知可以帮助注册表相关的问题。 http://support.microsoft.com/mats/Program_Install_and_Uninstall

+0

有趣的是,你刚刚回答说,因为我今天刚刚遇到问题。无法通过该机器访问互联网 – Rig

+0

修复了无法为我卸载TFS 2012电动工具的问题。谢谢:) – st3inn

9

1001始终表示InstallUtil(安装程序类)自定义操作失败。这是不可能给你一个更详细的答案,因为,这是一个“习惯”的行动。没有告诉哪些代码抛出异常。

如果你想保存这台机器,而不必重建它,你必须记录卸载以获取失败的自定义操作的名称,使用ORCA来调整MSI以切出自定义操作,重新缓存MSI并执行卸载。

你现在已经学会了在Hardway为什么:

1)必须使用虚拟机的开发/测试生命周期

2)期间测试您的MSI避免使用尽可能

自定义操作3)切勿使用InstallUtil自定义操作。他们不是一个好的模式或实践。

+0

我很想做一些这些事情,但我没有设置公司开发机器政策。有什么方法可以用另一种方式擦洗薄?任何地方在注册表中保留这些东西,然后我可以删除目录?我们实际上很快就会开发虚拟机,但我们还没有。 – Rig

+0

还有微星Zap,但它只是删除Windows安装程序/添加/删除程序元数据。您必须手动卸载应用程序资源。我已经让开发人员用我提供的答案为我的魔法购买午餐。 –

+0

我无法将任何东西移动到该机器。我需要一个手动解决方案。 – Rig

2

做一个详细日志文件

msiexec.exe /I "File.msi" /QN /L*V "C:\Temp\msilog.log" 
/I = run installation sequence 
/L*V "C:\Temp\msilog.log"= verbose logging 
/QN = run completely silently 

打开它在记事本,search for value 3。对于任何线索,还请检查the system's event log

+0

谢谢,我在另一台计算机上也有这个问题。我认为这个很少使用的项目在其安装程序中有一个缺陷,我将不得不追赶。在制作过程中,它永远不会与应用程序结合使用进行安装,我认为它与应用程序发生冲突,但在开发过程中肯定会发生。 – Rig

1

像这样的大多数MSI错误可能涉及自定义操作,或者像克里斯说的服务配置

如果这对追逐真的很重要,应该掌握Orca - 用于检查MSI文件的SDK工具。您可以在this answer中看到正在运行的工具的一些屏幕截图。然后检查自定义操作表InstallExecuteSequence表(按顺序编号)的末尾,并报告您在那里找到哪些条目。

不幸的是它似乎得到Orca保持的唯一途径是通过安装the Windows SDK。或者,您可以下载third party installer tools之一的试用版。

我的猜测是在InstallFinalize之后有一种即时模式自定义操作,它返回某种错误代码。总之,您可以在InstallExecuteSequence中的InstallFinalize之后报告所有项目,我们可以将其缩小。

+0

我其实有Orca但从来没有真正使用它。本能,因为我是有问题的应用程序的开发人员,可能这些应用程序共享事件日志或性能计数器类别。当它们都安装时,它并没有正常处理卸载,从而保持冲突状态。我不知道,但它的东西要看。特别是一旦我尝试Orca出来。 – Rig

+0

如果您发布了**自定义操作表**和** InstallExecuteSequence表**的末尾之一的屏幕截图,我们可以提供关于可能出错的一些猜测。 –

+0

http://i.imgur.com/pZc6jLF.png – Rig

5

1.转到控制面板,然后右键单击获取修复选项。 2.修复并在修复后再次卸载。 在这里你去软件卸载..

+0

谢谢。它拯救了我整整一天 – Usman

相关问题