Dynamic-Link ライブラリの更新
DLL を新しいバージョンに置き換える必要がある場合があります。 DLL を置き換える前に、バージョン チェックを実行して、古いバージョンを新しいバージョンに置き換えることを確認します。 使用中の DLL を置き換えることができます。 使用中の DLL を置き換えるために使用する方法は、使用しているオペレーティング システムによって異なります。 Windows XP 以降では、分離されたアプリケーションとサイド バイ サイド アセンブリ アプリケーションを使用する必要があります。
次の手順を実行する場合、コンピューターを再起動する必要はありません。
- MoveFileEx 関数を使用して、置き換えられる DLL の名前を変更します。 MOVEFILE_COPY_ALLOWEDを指定せず、名前を変更したファイルが元のファイルを含む同じボリューム上にあることを確認してください。 また、別の拡張子を付けることで、同じディレクトリ内のファイルの名前を変更することもできます。
- 新しい DLL を、名前が変更された DLL を含むディレクトリにコピーします。 これで、すべてのアプリケーションで新しい DLL が使用されるようになります。
- MOVEFILE_DELAY_UNTIL_REBOOT MoveFileEx を使用して、名前が変更された DLL を削除します。
この置換を行う前に、アプリケーションはアンロードされるまで元の DLL を使用します。 置換後、アプリケーションは新しい DLL を使用します。 DLL を記述するときは、特に DLL がグローバルな状態情報を保持したり、他のサービスと通信したりする場合に、このような状況に備えて準備されるように注意する必要があります。 グローバル状態情報または通信プロトコルの変更に備えて DLL が準備されていない場合、DLL を更新するには、すべてのアプリケーションが同じバージョンの DLL を使用していることを確認するために、コンピューターを再起動する必要があります。