異なるバージョンを同一の実行環境上で共存させる方法は?

文書番号 : 19447     文書種別 : 使用方法     最終更新日 : 2010/07/28
文書を印刷する
対象製品
ActiveReports 2.0J Standard
詳細
ActiveReports 2.0J の場合、サービスパックの適用状況によって、以下のようにバージョンが異なります。
 初版: 2.0.0.1169
 SP1 : 2.3.2.1271
 SP2 : 2.4.2.1306

実行環境において、異なるバージョンのコンポーネントを同一環境で共有する(旧バージョンのコンポーネントを使用したアプリケーションはそのままに、新バージョンのコンポーネントを使用したアプリケーションを配布する)方法としては、Side-by-Side共有による方法がございます。

具体的には、アプリケーション(EXEファイル)と同一のフォルダに、「アプリケーションのファイル名+".local"」(例:App.exe.local)という名称の空のファイルと、使用するDLLやOCXファイルを配置します。
このことにより、DLL/COMリダイレクションがアクティブになり、アプリケーションは同フォルダに配置されたDLLやOCXファイルを優先的に使用します。
※旧バージョンのDLLやOCXファイルが実行環境でレジストリ登録されている場合には、その内容を上書きしないように、新バージョンのDLLやOCXファイルはレジストリ登録せずにファイルコピーにて配布してください。

詳細につきましては、MSDNライブラリ等の各種関係資料をご参照ください。

[アプリケーションで共有する Side-by-Side コンポーネントの実装(拡張)]
http://www.microsoft.com/japan/msdn/windows/windows2000/sidebyside.aspx

なお、上記の「~.local」を使用したDLL/COMリダイレクションによるサイドバイサイド実行は、EXEファイルにしか適用できません。Webアプリケーションなどの ActiveX Dll形式ではご利用頂けません。同一サーバー上に ActiveReports 2.0J を使用した複数の アプリケーションを配置する場合には、同じバージョン(サービスパック)の ActiveReports でアプリケーションを作成くださいますよう、お願い申し上げます。

[参考 | Windows XP がもたらす Visual Basic デベロッパーへの福音
~ 第 2 回: 新しいサイド バイ サイド技術 ~]
http://msdn.microsoft.com/ja-jp/vstudio/dd277942.aspx

※上記ページの「今回のまとめ」より抜粋
Windows XP で採用されたサイド バイ サイド技術で XCOPY ライクな配布が実現できるアプリケーションは、スタンドアロン形式の実行モジュール (EXE) だけになります。Active Server Pages などの世界には、まだ適用することができません。
関連情報
キーワード
HowTo 移行・共存

この文書は、以前は次のFAQ IDで公開されていました : 7986