【发布时间】:2011-03-25 20:59:59
【问题描述】:
在卸载我正在开发的安装服务的 VS2010 安装项目时,我收到以下错误(取自详细的 MSI 日志记录):
MSI (c) (60:90) [13:37:59:038]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
Error 1402. Could not open key: UNKNOWN\Components\216B73E88467B322BBFF14C949E03D05\F1DB4DDE64042404E8863AB2CA9520DF. System error 5.
Verify that you have sufficient access to that key, or contact your support personnel.
MSI (s) (84:A4) [13:38:01:678]: User policy value 'DisableRollback' is 0
MSI (s) (84:A4) [13:38:01:678]: Machine policy value 'DisableRollback' is 0
Action ended 13:38:01: InstallExecute. Return value 3.
请注意,此服务是使用本地计算机帐户或域用户帐户安装的。它不使用网络服务、本地系统或本地服务等内置帐户。
使用 Windows Installer 详细日志分析器 (wilogutl),它告诉我这部分代码是安装程序日志中的第一个错误。此外,它告诉我可能的解决方案:
标准操作或自定义操作 导致失败。
Installer Version: 5.0.7601
Client Side Privilege Details: None
Server Side Privilege Details:
MSI (s) (84:A4) [13:37:55:306]: 产品 {EDD4BD1F-4046-4042-8E68-A32BAC5902FD} 被管理。微星 (84:A4) [13:37:55:306]:运行产品 '{EDD4BD1F-4046-4042-8E68-A32BAC5902FD}' 具有提升的权限:产品是 已分配。
我尝试运行 ProcMon 来尝试诊断问题,但没有成功。安装程序似乎运行没有问题。安装程序使用自定义操作 (C# InstallerClass) 来安装服务。但是系统无法卸载我机器上的服务。
更新 1: 以下是日志中的人类可读错误:
(SERVER) MSI (s) (84:A4) [13:38:02:186]: Product: MyService -- Removal failed.
(UNKNOWN)
(SERVER) MSI (s) (84:A4) [13:38:02:186]: Windows Installer removed the product. Product Name: MyService. Product Version: 1.0.0. Product Language: 1033. Manufacturer: ManufacturerName. Removal success or error status: 1603.
(UNKNOWN)
(SERVER) MSI (s) (84:A4) [13:38:02:187]: Deferring clean up of packages/files, if any exist
(SERVER) MSI (s) (84:A4) [13:38:02:187]: MainEngineThread is returning 1603
而错误1603可以解释为如下(虽然日志中没有显示):
文件 [2][3] 正在使用中 通过以下过程:名称:[4], ID:[5],窗口标题:'[6]'
【问题讨论】:
-
我认为其中一个包组件以某种方式损坏。能否请您发布完整日志的链接,以便我们查看?
标签: windows-services windows-installer custom-action