we have created one window application using C# and create deployment project in VS 2010. In the setup we have set the option so it download the .msi file from the URL give in the "Installation URL".

our .msi file is big in size and put on server. Now what is my confusion is when we click on .exe file it first download the .msi file from server and after it it install it from server using msiexec.exe command so it take double time (download from server and install from server)

we have checked this from install.log file from temp folder Text in that file something like...

The problem is not clear, but it's not true that it's double work. If setup downloads MSI from the server, this can be the MSI which contains all the files inside its CABs. Or, it can additionally download something, but without duplication anything. Of course, every correct thing could be screwed up, but there is nothing inherently wrong is such scenario.
—SA