Dll “得到错误”;DIRCA_CheckFX。返回值3;卸载程序时

Dll “得到错误”;DIRCA_CheckFX。返回值3;卸载程序时,dll,visual-studio-2013,dependencies,windows-installer,vdproj,Dll,Visual Studio 2013,Dependencies,Windows Installer,Vdproj,我使用VS2013为Win XP创建了一个安装程序项目 尝试安装时,我遇到一个错误: “DIRCA_CheckFX.返回值3。” 我在StackOverFlow中访问了这篇文章:。 我做了我在那里读到的建议-替换“dpca.dll”-它工作得很好! 但只有在我以前没有安装坏msi的机器上 当我试图在版本不好的机器上安装新版本的msi时,我得到一个错误,这个程序已经安装。 但是在尝试卸载程序时,我得到了错误:“DIRCA_CheckFX.Return value 3。” 我的问题是-如何安装我的安

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

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

我在StackOverFlow中访问了这篇文章:。 我做了我在那里读到的建议-替换“dpca.dll”-它工作得很好! 但只有在我以前没有安装坏msi的机器上

当我试图在版本不好的机器上安装新版本的msi时,我得到一个错误,这个程序已经安装。 但是在尝试卸载程序时,我得到了错误:“DIRCA_CheckFX.Return value 3。”

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


谢谢。

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

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

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

  • 在没有正确的MSI文件的情况下,通过Windows\installer文件夹查看缓存的MSI文件。将鼠标悬停在每一个上,应该可以找到损坏产品的缓存MSI。同样,如上所述使用Orca进行编辑以抑制对DIRCA_CheckFX的调用