You are talking about two slightly different functions.
A Bootloader is where the Pic is programmed with a small 'bootloader' program which then allows the PC to send a users program to the Pic for the bootloader to place into memory - so there is no need to use a hardware programmer like the Pickit2.
Self Flash writing is where the users program running in the Pic can be made to change the contents of its own Flash program memory - see the chips datasheet - memory section for details.
For bootloaders - just google - heres a popular one. Tiny PIC bootloader
You still need to burn the bootloader program into the Pic with a standard programmer.
yes its 2 different concepts.i just use the name "bootloader" to explain my concept.i want to write a "Self Flash writing" kind of program. i have some question;
1. its hex code that i need to write in memory or there some kind of conversion or edit the hex file.
2. i am using mikroC Pro, is there any kind of code example for self-flash -writing.