Если я правильно понимаю, вопрос довольно общий: «Как сделать файл, который отсутствует в папке веб-приложения, доступным для загрузки?»
Простой способ сделать это - записать двоичный код в поток ответов и установить некоторые заголовки.
HttpResponse.Clear();
HttpResponse.BufferOutput = false;
HttpResponse.ContentType = "application/excel";
HttpResponse.AddHeader("content-disposition", "filename=VSTO2007.xlsx");
FileStream sourceFile = new FileStream(@"C:\Examples\VSTO2007\VSTO2007\VSTO2007.xlsx", FileMode.Open);
long FileSize;
FileSize = sourceFile.Length;
byte[] getContent = new byte[(int)FileSize];
sourceFile.Read(getContent, 0, (int)sourceFile.Length);
sourceFile.Close();
Response.BinaryWrite(getContent);
Я не тестировал его, но он должен работать.