ASP.net和Windows窗体 - 发送应用程序,执行它然后删除它

时间:2014-04-24 15:41:42

标签: asp.net vb.net

我有一个ASP.net(VB)应用程序和一个EXE(VB.net)。我需要我的ASP应用程序将EXE发送给客户,目标是"%Temp%"文件夹,然后执行软件,当它结束时,删除。

两个软件,ASP.net(在我的网络中的服务器上运行)和EXE都是由我编写的;所有的作品。

ASP.net上的问题:它发送下载,浏览器向用户显示窗口,选择他希望保存EXE的文件夹。我想要SUGGEST(因为我知道我不能强迫他保存在特定的文件夹上)"%Temp%"文件夹中。

EXE问题:执行(用户双击)并完成所有任务。我需要它,当它结束时,它会从HD中删除它。我已经看到程序直接从内存中执行selfs的副本,然后我的EXE可以这样做,在第一次调用时它将自身复制到内存并从那里执行,在文件上留下文件可以在进程后被删除完成了。

我在MSDN上已经有这个问题(用葡萄牙语,我的母语)在这个链接上: http://social.msdn.microsoft.com/Forums/pt-BR/0596361e-5609-447a-8c78-e3d4db138c26/aspnet-e-windows-form-enviar-um-aplicativo-executlo-e-depois-exclulo?forum=vsvbasicpt

1 个答案:

答案 0 :(得分:0)

我正在执行以下技巧来删除执行后的exe文件;代码是C#,但你应该明白这个想法。在您的应用退出之前执行此操作:

string fileName = Path.GetFileName(Application.ExecutablePath);

var info = new ProcessStartInfo();
info.Arguments = "/C choice /C Y /N /D Y /T 5 & Del " + Application.ExecutablePath;
info.WindowStyle = ProcessWindowStyle.Hidden;
info.CreateNoWindow = true;
info.FileName = "cmd.exe";
Process.Start(info);

Application.Exit();

它在应用程序退出后执行shell delete命令5秒+ -