First I try to upload the bootloader through MPLAB IDE through pickit3.
After downloading the bootloader, I connect the USB to pic18f14K50.
Doing this, my windows 10 gives a message "USB not recognized"
Are you sure that a 20 MHz crystal can work when using USB?
Usually it's a multiple of 12MHz, so if you try with 12, 24, 36, 48, it may work
but with 20, I think it's a bit suspicious.
NB: I have never used PIC, so there may be a smart PLL or FLL of some kind
that allows to use USB with other frequencies, but that's the first thing I thought
about.