(
Sorry for the english, it would be more easy for me to explain in French.)
The more simple method with an USBtinyISP :
I just perform it last week for the first time

If the fuse are not programed you must do it before loadind the hex file.
For more information about fuse have a look on the
datasheet and on
http://www.engbedded.com/fusecalcFor programming the fuse use avrdude in command line
For the avrdude manual :
http://download.savannah.gnu.org/releases/avrdude/avrdude-doc-5.11.pdfI use avrdude with the interactive mode option -t
To autorize the fuse modification use the "-u" option (unsafemode)
$ avrdude -c usbtiny -p 328p -u -t
avrdude> d lfuse //read the fuse before modify it
000 62 // Internal oscillator factory selected
avrdude> w lfuse 0 0.0x7f // External oscillator selected with 64 ms stabilization
>>>>write lfuse 0x7f
//on so on for all fuses, Mysetting : hfuse = 0xD9(no change) efuse : no change, see Nota1
// q to quit the script
1) With the IDE arduino make only the compilation step
2) Save the hex file, for example blink.hex.
With Linux it is in the Temporary folder, with Windows it is also a temporary folder but I don't know this name.
Load the hex file with avrdude in command line
$ avrdude -c usbtiny -p 328p -U flash:w:blink.hex:i
To use the usbtinyISP with Debian linux I had to create a UDEV rules, with Windows I don't know.
# Fichier créé pour essayer de faire fonctionner le tinyusb
# règle trouvée sur www.ladaya.net/make/usbtinyisp/avrdude.html
# autre source d'info : http://wiki.debian.org/fr/udev
# Ordres utiles :
# - Relancer la lecture des scripts : #udevadm control --reload-rules -> plus vraiment utile
# -Relancer udev #service udev restart
SUBSYSTEM=="usb", ATTR{product}=="USBtiny", ATTR{idProduct}=="0c9f", ATTRS{idVendor}=="1781", MODE="0666", GROUP="dialout"
Nota 1 :
Efuse :
It is impossible to write 0xFF.
"My" explanation: only three bits (0,1,2) can be modified. The others are "blocked" to "1".
With three bits you have only values between 0 and 7.
"so" 0x07 = 0xFF

If I mistake please answer the good explanation.