没有这样的接口支持错误

No such interface supported error

我在 Microsoft .NET Framework 版本 4.7.02556 上使用 VS 2017(版本 15.5.2)。

我还安装了 'Microsoft Visual Studio 2017 Installer Projects' 扩展(0.8.4 版)。

然后,我添加了一个新的安装项目并将主要输出添加到 File System\Application 文件夹。

我重建了主要项目,然后尝试构建导致此错误的安装项目:


1>------ Rebuild All started: Project: SCDS, Configuration: Debug Any CPU -----
1> SCDS -> C:\Users\Stephen\Source\Workspaces\SCDS\SCDS\bin\Debug\SCDS.exe
------ Starting pre-build validation for project 'Setup1' ------
------ Pre-build validation for project 'Setup1' completed ------
2>------ Rebuild All started: Project: Setup1, Configuration: Debug ------
Building file 'C:\Users\Stephen\Source\Workspaces\SCDS\Setup1\Debug\Setup1.msi'...
ERROR: No such interface supported 'No such interface supported'
========== Rebuild All: 1 succeeded, 1 failed, 0 skipped ==========


我也尝试修复我的 VS 2017 安装,但我仍然得到相同的结果。还有其他人遇到过这个问题吗?解决方法是什么?

更新:
我无法通过使用 Microsoft 创建的 'Microsoft Visual Studio 2017 Installer Projects' 来实现它。

目前,我的解决方案是安装 'Advanced Installer for Visual Studio 2017' 扩展(由 Caphyon 创建)并使用它创建我的安装项目。

另一个更新: 我终于通过卸载 VS 2017 并重新安装它以及 'Microsoft Visual Studio 2017 Installer Projects' 扩展来使用 JoeJ 的 来工作。

我在使用 VS 2017 15.5.3 时也遇到了这个问题。我重新安装了 VS 2017 (15.5.3) 和 Microsoft Visual Studio 2017 Installer Projects 扩展。重新安装后,MSI 构建时没有 'No such interface supported' 错误。

有时此问题与 Windows SDK 安装有关,因为存在重叠。对 Windows SDK/Kit 的更改可能会破坏某些注册。在您的系统上查找 mergemod.dll 并查看是否有 none 或多个副本。在 mergemod.dll 上执行 regsvr32 有时会修复此错误,因为它已取消注册。这也可能是重新安装可以解决问题的原因。

重启 Visual Studio 适合我。