Programs that try to access hardware directly can't do so. Old programs may also not work if they expect certain system configuration files from DOS and Windows 9x that are not used in Windows NT operating systems, so empty versions of files like AUTOEXEC.BAT and CONFIG.SYS exist even though Windows NT does not use them.