使用 InstallShield 部署 Visio Viewer:模块 VVIEWER.DLL 注册失败

Deploying Visio Viewer with InstallShield: Module VVIEWER.DLL Failed to Register

我使用 Visual Studio Professional 2015(版本 14.0.25431.01 更新 3)创建了一个应用程序,该应用程序利用了 Visio Viewer(版本 16.0.4339.1001)。 当我安装我的应用程序时,我得到 "Error 1904. Module C:\Program Files (x86)...\VVIEWER.DLL failed to register. HRESULT -2147220473. Contact your support personnel." 我研究过但没有找到解决方案。我已经完成了所有基础知识.. windows 是最新的,等等。 在我的应用程序中,我引用了 AxVisioViewer。 该应用程序确实 运行 / 正常工作 - 但我担心最终用户在安装过程中会看到此错误,因此不会有良好的安装体验。 (我在卸载时也遇到了类似的错误——注销失败错误 1905)。

必须先安装 Visio Viewer。在Visual Studio中,AxVisioViewer copy local 设置为yes(设置为no则无效)。嵌入互操作类型 - 错误。特定版本 - 错误。 我已尝试卸载 Visio Viewer 并安装我的应用程序,如果没有安装 Visio Viewer,它不会 运行。我已经重新安装了 visio 查看器,然后重新安装了我的应用程序 - 安装过程中出现同样的错误。如前所述,它有效 - 但用户看到此错误。 我正在使用 InstallShield LE,并且正在对我的应用程序/设置程序进行数字签名 .

已解决。 必须安装 Visio Viewer,因此 VVIEWER.DLL 已安装/注册。 但是,在我的项目中,我必须引用 AxVisioViewer,它是按照说明生成的 在 https://msdn.microsoft.com/VBA/Visio-VBA/articles/about-programming-visio-viewer 在托管代码中对 Visio Viewer 进行编程。 添加该引用会自动添加该文件,以及 VisioViewer.dll 和 VVIEWER.DLL。 在安装项目的文件下,我右键单击 {project}.Promary 输出,然后查看依赖项。我能够取消选中 VVIEWER.DLL 以将其从构建中排除。 由于该文件现在已从构建中排除,因此不再导致问题。