问题
解决方案
什么是 ESET 安装修复程序?
ESET 安装修复程序(也称为 InstaFix 或 install fix)是 ESET 应用程序的技术支持工具。ESET 安装修复程序旨在解决 ESET 软件安装过程中可能出现的若干服务问题。
如何使用 ESET 安装修复程序?
-
点击下面的链接为您的操作系统下载 ESET 安装修复程序。如有需要,验证您的操作系统是 32 位还是 64 位。
-
以管理员身份运行 "命令提示符",并根据您的问题从以下部分之一运行命令。命令必须指定安装修复程序所在的目录。命令示例:
C:\Users\Owner\Desktop\InstFix_nt64.exe -fix MRL将
C:\Users\Owner\Desktop\InstFix_nt64.exe替换为实际的 Installation Fixer 目录和文件名。如果使用的是 32 位版本,请确保使用InstFix_nt32.exe而不是InstFix_nt64.exe。
MSI 注册表遗留物
问题
尝试将 ESET 应用程序升级到最新版本失败。安装日志报告错误"Error 2753: The File 'shellExt.dll' is not marked for installation"。
原因
在成功删除当前版本后,应用程序的早期版本又被自动安装,导致升级过程中断。这种情况紧接着运行引擎(RunEngine)阶段之后发生,该阶段会删除现有应用程序。
这种重新安装可能是由组策略应用程序管理 (AppMgmt) 服务触发的,因为组策略配置仍要求安装旧版应用程序。由于升级过程没有检测到这种策略驱动的安装,因此无法正常进行。
解决方案
执行命令:
C:\Users\Owner\Desktop\InstFix_nt64.exe -fix MRL -b
InstFix 会从 Windows 安装程序注册表中枚举具有特定 MSI 升级代码的所有 ESET 安全应用程序,并尝试确定当前应用程序的安装程序版本。与安装版本不匹配的注册表项将从以下位置删除:
- HKCR\Installer\UpgradeCodes
- HKCR\Installer\Products
在使用该命令的-b开关时,将删除的每个条目都会备份到一个单独的.reg文件中。
缺少 MSI 注册表
问题
当停止 ESET 服务 (ekrn) 时,将 ESET 应用程序升级到最新版本的尝试失败。安装日志包含的 RunEngine 部分仅引用了当前安装的 MSI 软件包。
原因
Windows 安装程序缺少当前安装的应用程序的注册表项。在升级过程中,必须在单独的 RunEngine 部分中调用旧的 MSI 软件包,并将其 GUID 列为应用程序名称。成功卸载旧 MSI 包后,新的 RunEngine 部分将启动,并开始安装最新版本。注册表项丢失的主要原因尚不清楚。
解决方案
执行命令:
C:\Users\Owner\Desktop\InstFix_nt64.exe -fix MMR
InstFix 会检查问题是否存在,然后尝试恢复所有已知的强制 Windows 安装程序注册表键值和值。
- 手动将当前安装的应用程序的原始 MSI 包(相同的应用程序、版本、平台和语言)复制到隐藏的系统目录
%SystemRoot%\Installer! -
InstFix 会收集当前安装应用程序的所有必要信息,并在 Windows 安装程序 MSI 缓存中搜索原始 MSI 包。如果找到了 MSI 软件包,则会在以下位置还原必须的注册表键值列表:
- HKCR\Installer\UpgradeCodes
- HKCR\Installer\Products
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products
搜索服务索引
問題
在EpfwWfpRegisterCallouts上的CA EpfwInst !FinalizeInstall中安装 ESET 应用程序失败,错误代码为ERROR_RM_NOT_ACTIVE (0x1a91 = 6801)。
原因
与 Windows Search 服务相关的某些系统文件已损坏或处于不一致状态。其中一个原因可能是执行了系统还原。
解决方法
执行命令:
C:\Users\Owner\Desktop\InstFix_nt64.exe -fix SSI
InstFix 会删除以下位置的所有*.blf和*.regtrans-ms文件:
- %SystemRoot%\system32\config\TxR
- %SystemRoot%\system32\SMI\Store\Machine
如果运行,InstFix 会尝试停止 Windows Search 服务。应用主要修复程序后,服务将再次启动。如果不成功,可能仍需要重新启动。
注册表值类型
问题
在SetupInstallFromInfSection的 CAInstSupp !InstallDriverPackagesforEDEVMON 中安装 ESET Security 应用程序失败,错误代码为 13。
Setup API APP 日志报告了与错误时间相关的"[SetupInstallFromInfSection - DefaultInstall]"和EDEVMON("inf: AddReg=EDEVMON")问题"!!!inf:错误设置注册表值 HKLM..."。
原因
某些第三方应用程序使用错误的注册表类型向注册表写入值,如 Windows 注册表中所述。当安装下一个驱动程序时,这会导致驱动程序安装失败,因为 Windows 希望读取不同的注册表类型。
解决方法
执行命令:
C:\Users\Owner\Desktop\InstFix_nt64.exe -fix RVT -b
InstFix 会遍历已知注册表值的列表,并检查它们的类型。如果类型与预期类型不符,InstFix 会适当转换值,并将其存储为正确的预期注册表类型。
该列表目前只包含位于注册表键HKLM\System\CurrentControlSet\Control\Class 下的EDEVMON注册表值。使用-b开关时,每个需要转换的注册表值都将首先备份到一个单独的.reg文件中。
最大过滤器数量
问题
在HrInstallComponent 上的CA InstSupp!InstallDriverPackagesforEPFWLWF中安装 ESET Security 应用程序失败,错误代码为NETCFG_E_MAX_FILTER_LIMIT (0x8004a029)。
原因
Windows 对一次可加载的网络过滤器驱动程序的最大数量有限制。如果达到最大值,则下一次过滤器驱动程序安装将失败。每个版本的 Windows 都硬编码了这一最大值,同时也在注册表中进行了定义。注册表中的值通常比硬编码值小得多。如果注册表中没有定义该值,则使用硬编码值。
位置
HKLM\SYSTEM\CurrentControlSet\Control\Network\MaxNumFilters:dword
解决方案
命令:
C:\Users\Owner\Desktop\InstFix_nt64.exe -fix MNF
InstFix 删除MaxNumFilters注册表值,允许 Windows 使用内部硬编码值。
PSL 修复(受保护服务遗留物修复)
问题
尝试在先前安装失败后安装 ESET Security 应用程序。
安装日志包含"产品:ESET Security - 错误 1923。无法安装 ESET 服务 (ekrn)。验证您是否有足够的权限安装系统服务"。
原因
ESET 服务即使不存在,仍会受到保护。
解决方法
执行命令:
C:\Users\Owner\Desktop\instfix_nt64.exe -fix PSL -b
如果服务未安装或不存在于硬盘上,InstFix 会删除HKLM\System\CurrentControlSet\Services\ekrn\LaunchProtected注册表键值。目前尚未发现副作用。
SIL 修复(服务安装遗留物修复)
问题
在先前取消或回滚安装后尝试安装 ESET Security 应用程序失败。
安装日志包含"产品:ESET Security - 错误 1923。无法安装 ESET 服务 (ekrn)。验证您是否有足够的权限安装系统服务"。
原因
ESET 服务可能在安装取消或发生回滚后仍处于部分注册状态。
解决方法
命令:
C:\Users\Owner\Desktop\instfix_nt64.exe -fix SIL -b
如果服务未安装或不存在于硬盘驱动器上,InstFix 会完全删除HKLM\System\CurrentControlSet\Services\ekrn注册表键值。目前尚未发现副作用。
PIT 修复(产品安装时间修复)
问题
使用 ESET PROTECT Web 控制台对端点应用程序进行推送安装有时会导致 ESET PROTECT Web 控制台中显示不正确的安装日期。
原因
此行为的确切原因尚不清楚。
解决方案
执行命令:
C:\Users\Owner\Desktop\instfix_nt64.exe -fix PIT -b
InstFix 会从 Windows 安装程序注册表中检索 ESET Security 应用程序的正确安装日期。然后,在 ESET 信息注册表密钥中找到的PackageTag值将被编码为正确的日期。
使用-b开关时,整个 ESET Info 注册表密钥将首先备份到一个单独的.reg文件中。
Self-Defense 禁止写入 ESET Info 密钥。要执行此修复,必须使用 ESET PROTECT Web 控制台中应用程序的高级设置暂时禁用 Self-Defense。目前尚未发现任何副作用。