2

我有一个带有嵌入式 MapPoint 控件的 WinForms 应用程序,我已经维护了大约 5 年。

该应用程序最初使用 MapPoint 2004,然后是 2006,现在我们正在升级到 2010。

在我的开发环境(项目的 VS2008/.NET 2.0)中,应用程序运行良好。

一旦我创建了安装程序并安装了应用程序并尝试运行它,我就会开始遇到问题。首先,应用程序在 Windows 2007 64 位中提示 UAC,尽管我没有任何代码可以修改文件系统或其他受保护的系统。

如果我选择“是”以允许程序运行,只要我尝试创建一个新的地图实例以在我的地图控件中使用

this._activeMap = this._mapCtrl.NewMap(MapPoint.GeoMapRegion.geoMapNorthAmerica);

我从 MapPoint 收到一个带有以下错误的消息框:

您的注册表设置未正确复制。要更正这些设置,请为此应用程序再次运行安装程序。

我知道有关 Streets & Tips 中此错误的知识库文章 ( http://support.microsoft.com/kb/314590 ),但 MapPoint 2010 本身运行良好,正如我所说,该应用程序运行良好在 VS 中或从不受保护的文件夹运行时(例如,如果我将文件复制到我的用户目录,它运行良好)。

4

2 回答 2

2

我们在安装时收到了相同的 MapPoint 错误(以及其他错误)。我们使用 NSIS 作为我们的安装包;一旦我们以提升的权限运行它,错误就会消失。我希望我能给你更多的细节,但我不是为我们的安装程序编写代码的我。我只是被告知我们是如何通过 MapPoint 问题的。我希望它至少可以为您指明正确的方向并帮助您缩小研究范围。

于 2010-08-30T14:32:21.063 回答
0

是的,无论如何通常都需要提升的安装权限。我的经验更多是针对 MapPoint 加载项,而不是使用 ActiveX 控件的应用程序。在那里,我使用已安装的 Visual Studio 和 Add-in Express,它具有用于 UAC 处理的特殊设置。我不认为他们有任何使用 Office/MapPoint ActiveX 控件的功能,但它可能值得一看。

于 2011-01-24T14:33:24.187 回答