Внедрение элемента управления Mappoint 2010 в C # WinForm вызывает ошибку реестра в Win7 (64-разрядная версия)

У меня есть приложение WinForms со встроенным элементом управления MapPoint, которое я поддерживаю уже около 5 лет.

Первоначально приложение использовало MapPoint 2004, затем 2006, а теперь мы обновляем его до 2010 года.

В моей среде разработки (VS2008 / .NET 2.0 для проекта) приложение работает нормально.

Как только я создаю установщик, устанавливаю приложение и пытаюсь запустить его, у меня возникают проблемы. Сначала приложение запрашивает UAC в 64-разрядной версии Windows 2007, хотя у меня нет кода, изменяющего файловую систему или другие защищенные системы.

Если я выберу «Да», чтобы разрешить запуск программы, как только я попытаюсь создать новый экземпляр карты для использования в моем элементе управления картой

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

Я получаю сообщение от MapPoint со следующей ошибкой:

Настройки вашего реестра не были правильно скопированы. Чтобы исправить эти настройки, снова запустите установку для этого приложения.

Мне известно о статье базы знаний (http://support.microsoft.com/kb/314590) относительно этой ошибки в Streets & Tips, но MapPoint 2010 отлично работает сам по себе, и, как я уже сказал, приложение работает нормально из VS или при запуске из незащищенной папки (например, если я делаю x-копию файлов в каталог моего пользователя, он работает нормально).


person Matt R.    schedule 15.04.2010    source источник


Ответы (2)


Мы получили ту же ошибку MapPoint (вместе с другими) при нашей установке. Мы используем NSIS для наших установочных пакетов; как только мы запустили его с повышенными разрешениями, ошибки исчезли. Хотел бы я дать вам более подробную информацию, но я не был тем, кто написал код нашего установщика. Мне просто сказали, как мы обошли проблему с MapPoint. Я надеюсь, что это, по крайней мере, укажет вам правильное направление и поможет сузить круг ваших исследований.

person Sphyrna    schedule 30.08.2010

Да, в любом случае обычно требуются повышенные разрешения на установку. Мой опыт больше касается надстроек MapPoint, а не приложений, использующих элемент управления ActiveX. Там я использую установленную Visual Studio и надстройку Express, в которой есть специальные настройки для обработки UAC. Я не думаю, что у них есть что-нибудь для использования элементов управления ActiveX Office / MapPoint, но, возможно, стоит поискать.

person winwaed    schedule 24.01.2011