Uruchamianie 16 bitowych aplikacji z serwera plików Windows 2008 i 2012

Przeniesienie danych ze starszego serwera plików na nowy Windows Server 2008 lub 2012 może skutkować tym, że starsze 16 bitowe aplikacje uruchamiane z udziału sieciowego odmówią nam posłuszeństwa. Mimo, iż system, na którym próbujemy uruchomić aplikację z udziału sieciowego nie ulega zmianie pojawić się może komunikat informujący iż aplikacja lub któryś z jej komponentów nie zostały znalezione:

Can’t run 16-bit Windows program
Cannot find file X:\directory_name\file_name.exe (or one of this components)

Jak to możliwe, że sam udział sieciowy, na którym umiejscowione zostały pliki aplikacji ma wpływ na jej uruchamianie? Otóż w nowych systemach Windows Server 2008 i 2012 wyłączona została obsługa 16 bitowych nazw plików i ścieżek. Skutkuje to tym, iż starsze aplikacje, które nazwy dłuższe niż 8+3 znaki skracały sobie za pomocą znaku tyldy (np. nazwap~1 ) nie dostaną się do udziałów SMB za pomocą takiego odwołania. Nowy serwer domyślnie ich nie obsługuje. Jak więc poradzić sobie z powyższym problemem? Możliwości są dwie: albo zmienimy nazwy katalogów i plików w ścieżce do aplikacji zgodnie ze starym standardem 8+3 (ośmioznakowa nazwa pliku i trzyznakowe rozszerzenie) albo w rejestrze nowego serwera plików przywracamy obsługę skróconych nazw. Odpowiedzialny jest za to poniższy klucz rejestru:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation

Wartości, które może on przybierać opisane zostały tutaj .