创建自动下载程序/更新程序会在打开下载的文件时出错

时间:2012-04-06 19:00:47

标签: c# webclient downloading

我正在使用c#并创建一个自动下载器/更新程序,它会检查应用程序是否存在,或者应用程序是否需要更新。如果需要下载新版本的应用程序,则下载该应用程序并将其放入LocalAppData / MyApplication目录。

当我尝试执行应用程序时,我收到错误

The volume for a file has been externally altered so that the opened file is no longer valid

我不明白这个错误来自何处。如果我只是用FTP复制文件,那么无论我把它们放在哪里,它们都能正常工作。但是一旦更新程序运行......我就会收到错误。

我正在使用C#并使用WebClient下载文件,然后使用WshShellClass为应用程序创建快捷方式。

任何见解都会很棒。如果它有助于我发布我用来下载项目的代码,我也可以这样做。

2 个答案:

答案 0 :(得分:0)

好的我发现了问题,WebClient没有下载MyApplication.exe.config,因为服务器在尝试http下载它们时返回找不到配置文件的404 ...显然......接受人们

答案 1 :(得分:0)

很酷的问题。

此类错误也会在以下情况下发生: 1.在域中加载程序集。 2.程序集将可执行配置重命名为.backup并创建新配置 3.卸载装配并再次装载