Path.GetTempPath
is returning you folder path. you need to specify file path as well. You can do it like this
string tempPath = Path.GetTempPath();
string serverfile = @"E:\installer.msi";
string path = Path.Combine(tempPath, Path.GetFileName(serverfile));
File.Copy(serverfile, path); //you can use the overload to specify do you want to overwrite or not