Aktualizace knihovny Dynamic-Link
Někdy je nutné nahradit knihovnu DLL novější verzí. Před nahrazením knihovny DLL proveďte kontrolu verze, abyste zajistili, že nahrazujete starší verzi novější verzí. Je možné nahradit knihovnu DLL, která se používá. Metoda, kterou používáte k nahrazení knihoven DLL, které se používají, závisí na používaném operačním systému. V systému Windows XP a novějších by aplikace měly používat izolované aplikace a souběžná sestavení.
Pokud provedete následující kroky, není nutné restartovat počítač:
- Pomocí funkce MoveFileEx přejmenujte knihovnu DLL, která se nahrazuje. Nezadávejte MOVEFILE_COPY_ALLOWED a ujistěte se, že je přejmenovaný soubor na stejném svazku, který obsahuje původní soubor. Můžete také jednoduše přejmenovat soubor ve stejném adresáři tím, že ho dáte jiné příponě.
- Zkopírujte novou knihovnu DLL do adresáře, který obsahuje přejmenovanou knihovnu DLL. Všechny aplikace teď budou používat novou knihovnu DLL.
- K odstranění přejmenované knihovny DLL použijte MoveFileEx s MOVEFILE_DELAY_UNTIL_REBOOT.
Než tuto náhradu provedete, budou aplikace používat původní knihovnu DLL, dokud nebude uvolněna. Po nahrazení budou aplikace používat novou knihovnu DLL. Při psaní knihovny DLL musíte být opatrní, abyste zajistili, že je připravena pro tuto situaci, zejména pokud knihovna DLL udržuje informace o globálním stavu nebo komunikuje s jinými službami. Pokud knihovna DLL není připravena na změnu informací o globálním stavu nebo komunikačních protokolů, aktualizace knihovny DLL bude vyžadovat restartování počítače, aby se zajistilo, že všechny aplikace používají stejnou verzi knihovny DLL.