możliwości „równoległego” uruchamiania we wczesnych wersjach Windows różnych wersji tej samej biblioteki poleganie na bieżącym katalogu lub zmiennej środowiskowej %PATH%, które są zmienne zarówno w czasie jak i zależą od systemu, aby znaleźć wymaganą bibliotekę (zamiast ładować ją z jawnie skonfigurowanej lokalizacji) wykorzystywanie identyfikatorów klas COM z aplikacji przykładowych dla swoich interfejsów i aplikacji, zamiast wygenerowania własnych GUID-ów
Piekło DLL było bardzo powszechnym zjawiskiem w systemach operacyjnych Microsoft przed wydaniem Windows NT, głównym powodem było to, że w 16-bitowych systemach operacyjnych nie ograniczano procesów do ich wyłącznej przestrzeni adresowej, tym samym uniemożliwiono ładowania własnych wersji współdzielonych modułów, z którymi były one kompatybilne. Od instalatorów aplikacji oczekiwano uczciwości, a tym samym weryfikacji informacji o wersji biblioteki przed nadpisaniem istniejących bibliotek systemowych. Standardowe narzędzia do ułatwiania tego procesu (które zawsze wiązało się z dystrybucją bibliotek zależnych od systemu operacyjnego) były dostarczane przez Microsoft i innych dostawców. Microsoft nawet wymagał od dostawców oprogramowania używania standardowego instalatora i wystawiał certyfikaty o ich prawidłowym działaniu, zanim uprawniał do używania logo Microsoft.