2

我使用 VS 2013 为 Win XP 创建了一个安装程序项目。

在尝试安装它时,我收到一个错误:“DIRCA_CheckFX。返回值 3。”

我在 StackOverFlow 中访问了这篇文章:DIRCA_CHECKFX Return Value 3 - VS 2013 Deployment Project。我做了我在那里读到的建议——替换“dpca.dll”——效果很好!但仅限于我之前没有安装坏 msi 的机器上。

在尝试在具有错误版本的机器上安装新版本的 msi 时,我收到一个错误,表明该程序已安装。但是在尝试卸载程序时 - 我收到错误消息:“DIRCA_CheckFX。返回值 3。”

我的问题是 - 如何卸载我的安装程序的错误版本并防止此错误?

谢谢。

4

1 回答 1

0

其根本原因可能是在卸载产品时检查 .NET 运行时的愚蠢选择。我想可能有人卸载了.NET FW,并且您正在运行需要它的卸载自定义操作,也许这发生在您身上,但对我来说似乎没有必要 IMO。

如果我遇到这个问题,有两种解决方案:

  1. 如果您有完全相同的 MSI 文件、相同的版本、ProductCode,在各个方面都相同,则使用 Orca 打开它并转到 InstallExecuteSequence 表。转到 DIRCA_CheckFX 调用并将条件设置为 False,保存 MSI 文件。然后使用命令行 msiexec /i [path to new MSI] REINSTALL=ALL REINSTALLMODE=vomus 安装该 MSI 文件,这将代替已安装的产品进行更新,包括对现在被抑制的 DIRCA_CheckFX 的调用。卸载应该可以。

  2. 如果没有正确的 MSI 文件,请在 Windows\installer 文件夹中查找缓存的 MSI 文件。将鼠标悬停在每一个上应该可以让您找到损坏产品的缓存 MSI。同样,如上所述使用 Orca 进行编辑以抑制对 DIRCA_CheckFX 的调用。

于 2015-04-16T17:15:38.973 回答