【发布时间】:2009-10-19 18:33:39
【问题描述】:
假设我想从网络上运行一个 exe,显然我宁愿将它下载到一个临时文件夹中......从那里运行它,然后删除它(或让操作系统这样做)。是否有任何约定如何做到这一点,同时确保不要轰炸权限问题,覆盖现有文件等?
谢谢。
EDIT 从桌面应用程序输入。 顺便说一句,我确实有很多猜测,但我只是想知道接受了什么。
我知道我可以使用Path.GetTempFile,但是它已经为我制作了文件,这让我认为它也可以将它添加到某个数据库中,并跟踪它 - 所以我不能删除它并且用我自己的文件替换它。
我知道我也可以使用Path.TempDirectory(或类似的东西)和Path.RandomFileName,但是后者在文件名中添加了一个随机扩展名,而我需要exe,显然这也可以很容易地解决,但是重写似乎 MS 已经尝试为我们编写的内容对我来说似乎很奇怪。
【问题讨论】:
-
大多数时候,Web 浏览器不允许您从 Web 运行可执行文件。此外,您永远不会希望给用户一种印象,即永远只需从网络上运行可执行文件即可。 99.999% 的用户不会理解如何将您的应用程序与其他应用程序区分开来,因此只会记住一件事:“如果弹出消息要求运行应用程序,请按是。”瞬间失败。
标签: c# temporary-files