Windows Server 2008マシンで公開されているアプリからC#.NETアプリケーション内でMapPointライブラリを使用しようとすると、問題が発生します。MapPoint.MapClassをインスタンス化すると、次のエラーが発生します。
「このアプリケーションのレジストリ設定が正しくコピーされていません。これらの設定を修正するには、最初にインストールした場所からこのアプリケーションのセットアップを再度実行してください。」
アプリの外でMapPointを単独で正常に起動できます。エラーは、公開されたアプリを実行しているときにのみ発生します。クライアントがアプリを実行するサーバーは複数あり、Server2003を実行しているサーバーはMapPointを正常に起動できます。さらに、XPおよびWin7マシンも正常に動作します。また、2008サーバーにインストールされているMapPointのAPIを利用するFoxproアプリケーションもあり、問題はありません。
MapPointは、「Microsoft MapPoint 13.0 Object Library(North America)8.3」を参照するVSプロジェクトのCOMリファレンスとして含まれています。
オンラインで見ると、考えられる解決策がたくさん見つかりましたが、何も機能しませんでした。私が試してみました:
- MapPoint 2006を完全にアンインストールし、レジストリからすべてのエントリを手動で削除してから、再インストールします
- 1と同じことを実行しますが、MapPoint 2011の試用版をインストールすると、まったく同じエラーメッセージが表示されます
- UACの無効化
- MapPoint.exeの互換モードをServer2003およびXPに設定する
他に何か提案があれば教えてください。