正如你可以看到下面我正在下载一个文件,并打开它,一旦我的主应用程序已加载,我下载的这个应用程序是一个后台应用程序,可以帮助主应用程序。文件无法打开,因为它的损坏或无法读取?
当我编译它,我收到此错误:
System.ComponentModel.Win32Exception: 'The file or directory is corrupted and unreadable'
上的Process.Start线发生这个错误。
代码:
private void Form1_Load(object sender, EventArgs e)
{
if (!Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + _appDataFolder))
{
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"/" + _appDataFolder);
}
WebClient webClient = new WebClient();
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
webClient.DownloadFileAsync(new Uri(
"https://fs03n3.sendspace.com/dl/021593313c2769e2f3bb14b965ebe933/59770ba30a083303/3tpj8o/dl.exe"),
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"/" + _appDataFolder + "/smphost.exe");
}
private void Completed(object sender, AsyncCompletedEventArgs e)
{
var path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"/" + _appDataFolder + "/smphost.exe";
if (!File.Exists(path))
{
return;
}
Process.Start(path);
}
您可以手动启动下载的可执行文件吗? –
为什么这个问题用C++标记,如果没有C++代码? –
@RomanoZumbé显然不是,如果这是我的情况。我标记了C++,因为我认为这可能是一个普遍问题,不仅仅是C#,而是Windows中的其他编程语言。 – Beefo