user33831: I want to make Arduino flashing tool only for a nano, a simple flashing application which could run on windows taking input as a .hex file. 
I know how to do this in Linux environment using Makefiles and writing script to automate it but have no idea what all are the things which I need to know and consider before I proceed with any windows application for such cases (implementing light GUI).
Any initial guide or read through would be a great help!

user26916: This application already exists. It's called AVRDUDE:
http://www.nongnu.org/avrdude/
You can download it compiled for Windows at the link above. This is the very flashing tool that the Arduino IDE uses for the AVR boards such as Nano. You can get the AVRDUDE command the Arduino IDE uses to upload to the Nano by following these steps:

Start the Arduino IDE
File > Preferences > Show verbose output during: > upload (check) > OK
Tools > Arduino Nano
Sketch > Upload
After the process completes scroll the black console window at the bottom of the Arduino IDE window up to the start of the upload output and you will see the command generated by the Arduino IDE, which you can adapt to your needs.

If you want to use Makefiles you can get make compiled for Windows from this package:
http://winavr.sourceforge.net/
Note that it's incorrect to call what you're trying to do an IDE. IDE stands for Integrated Development Environment, which this is certainly not.

33831: <p>I want to make Arduino flashing tool only for a <code>nano</code>, a simple flashing application which could run on windows taking input as a <code>.hex</code> file. </p>

<p>I know how to do this in Linux environment using <code>Makefiles</code> and writing script to automate it but have no idea what all are the things which I need to know and consider before I proceed with any windows application for such cases (implementing light GUI).</p>

<p>Any initial guide or read through would be a great help!</p>
 26916: <p>This application already exists. It's called <code>AVRDUDE</code>:</p>

<p><a href="http://www.nongnu.org/avrdude/" rel="noreferrer">http://www.nongnu.org/avrdude/</a></p>

<p>You can download it compiled for Windows at the link above. This is the very flashing tool that the Arduino IDE uses for the AVR boards such as Nano. You can get the AVRDUDE command the Arduino IDE uses to upload to the Nano by following these steps:</p>

<ol>
<li>Start the Arduino IDE</li>
<li>File > Preferences > Show verbose output during: > upload (check) > OK</li>
<li>Tools > Arduino Nano</li>
<li>Sketch > Upload</li>
<li>After the process completes scroll the black console window at the bottom of the Arduino IDE window up to the start of the upload output and you will see the command generated by the Arduino IDE, which you can adapt to your needs.</li>
</ol>

<p>If you want to use Makefiles you can get <code>make</code> compiled for Windows from this package:</p>

<p><a href="http://winavr.sourceforge.net/" rel="noreferrer">http://winavr.sourceforge.net/</a></p>

<p>Note that it's incorrect to call what you're trying to do an IDE. IDE stands for Integrated Development Environment, which this is certainly not.</p>
