C# Winforms应用程序未保存下载的文件

C# Winforms应用程序未保存下载的文件,c#,winforms,updates,C#,Winforms,Updates,我正在创建一个小型c#winforms应用程序。它使用sqlite数据库来存储数据,我被要求在这个应用程序中添加一个更新功能,这样用户就可以更新sqlite文件以及任何其他文件,而无需重新安装该应用程序 问题是,当我进行更新时,它看起来好像一切都正常,没有错误等。但是当我查看应用程序安装目录时,一些下载的文件丢失了(通常是pdf文件),更新下载后,它会创建一个Updates.txt文件来跟踪它完成的更新。如果我卸载并重新安装该应用程序,即使Updates.txt文件丢失,它也会表现得好像已经完成

我正在创建一个小型c#winforms应用程序。它使用sqlite数据库来存储数据,我被要求在这个应用程序中添加一个更新功能,这样用户就可以更新sqlite文件以及任何其他文件,而无需重新安装该应用程序

问题是,当我进行更新时,它看起来好像一切都正常,没有错误等。但是当我查看应用程序安装目录时,一些下载的文件丢失了(通常是pdf文件),更新下载后,它会创建一个Updates.txt文件来跟踪它完成的更新。如果我卸载并重新安装该应用程序,即使Updates.txt文件丢失,它也会表现得好像已经完成了更新一样

奇怪的是,如果我在VisualStudio中运行并进行更新,那么所有的更新都会在100%的时间内无任何问题地工作,而只是在我构建安装项目并安装导致问题的东西的时候。也许安装项目中有一个设置导致文件被复制到其他地方?我完全不知道

请帮忙。谢谢

编辑:这就是我下载文件的方式

String filename = "//test.pdf";

WebClient client = new WebClient();
client.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);

client.DownloadFileAsync(new Uri(dlFile), System.IO.Directory.GetCurrentDirectory() + filename);

更新:这是一个权限问题,我要解决它

若您在程序文件中安装应用程序,那个么您可能并没有写入文件的权限。您需要以管理员身份运行应用程序,或者通过代码将其提升。

如果不是权限问题,我会感到惊讶。让适当的用户读/写您要写入的文件夹,看看这是否解决不了问题。它在VisualStudio中工作的原因是VisualStudio(很可能)以管理员的身份运行,因此它的子任务也是如此,就像这个。如果这不起作用,请再添加一些调试语句,看看哪里出了问题。

是否检查了您对所用文件夹的权限是否正确?存储文件的目录路径是什么?您好,我已尝试更改权限,但似乎没有任何影响。还是一样的问题。如果这样做可行,我如何确保在没有访问权限的情况下在另一台用户计算机上正确设置权限?如果计算机在您的网络上,您可以转到“属性”->“编辑”->“添加”->“位置”,选择您的网络,然后查找计算机。您可以尝试(暂时)授予“Everyone”用户对文件夹的完全读/写权限(只需为用户键入“Everyone”)。只要确保您位于正确的位置(在您的情况下,您希望使用网络服务器作为位置),在进一步调查时,这是一个权限问题。太好了,谢谢@PhillipSchmidt!谢谢你的回答。请看我对主要问题的评论。谢谢回答。见我对主要问题的评论。