我在尝试从 Windows Server 2008 机器上的已发布应用程序中使用我们的 C# .NET 应用程序中的 MapPoint 库时遇到问题。实例化 MapPoint.MapClass 时,出现错误:
“您的此应用程序的注册表设置未正确复制。要更正这些设置,请从您最初安装它的位置再次运行此应用程序的安装程序。”
我可以在应用程序之外自行启动 MapPoint,只有在运行已发布的应用程序时才会出现错误。我们有多个客户端运行应用程序的服务器,运行 Server 2003 的服务器能够很好地启动 MapPoint。此外,XP和Win7机器也能正常工作。我们还有一个 Foxpro 应用程序,它也利用安装在 2008 服务器上的 MapPoint 的 API,它没有任何问题。
MapPoint 作为 COM 引用包含在 VS 项目中,指的是“Microsoft MapPoint 13.0 Object Library (North America) 8.3”。
在网上找了一堆可能的解决方案,但都没有奏效。我努力了:
- 完全卸载 MapPoint 2006 并手动从注册表中删除所有条目,然后重新安装
- 执行与 1 相同的操作,然后安装 MapPoint 2011 的试用版,导致完全相同的错误消息
- 禁用 UAC
- 将 MapPoint.exe 的兼容模式设置为 Server 2003 和 XP
如果有人有任何其他建议,请告诉我。