Try this, and I hope you have a 18F PIC
Search for 'MCLoader & XPort'
"MCLoader & XPort" might not be the first place to look but there is where the thread is. Read all of it because there are some misstakes in the beginning that nobody (me) cared to edit, we fixed them on the way.
Hope it helps some.... then it is "just" to send the HEX file from the PC to the PIC in any way you like, I guess the most comon way is YOP (your own protocol) using a VB program ( parse it in the same blocksize as when you program the PIC since strings are easier to fix in the PC and send the blocks for flashing)
Hope this can help, if you run into any problem let me know. It is probably not the right way of using PBP but it is quick and seems to work great. And the only way I have found to write the bootloader without skills in ASM
In this way you can even use IRDA to upgrade the application if you would like to.
/me