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 のこのエラーに関するKB 記事 ( http://support.microsoft.com/kb/314590 ) を認識していますが、MapPoint 2010 は単独で正常に動作し、前述のように、アプリはVS 内または保護されていないフォルダーから実行する場合 (たとえば、ユーザーのディレクトリにファイルの x-copy を実行すると、正常に実行されます)。