2016-02-28 85 views
0

我差不多完成了我的winforms应用程序。来自asp.net背景 有几件事,我不知道如何处理当用户安装我的exe文件。用户内容目录最佳实践

所以我的应用程序使用文件系统目录来存储内容文件mp3,mp4,(images),.txt & .zip文件。用户可以添加新的(内容文件)来在我的应用程序中定制这些内容库。

我的问题是。决定我的应用程序所依赖的这些目录的位置的最佳做法是什么?如果用户被问到应该放在哪里,他们是否应该进入c:ProgramFiles/MyApplication?

我只是想做到这一点,避免出现安装问题,谢谢

+0

如果他们是用户应该与之交互的东西,那么他们应该进入文档文件夹。看到依稀相关的答案[这里](http://stackoverflow.com/questions/35669434/where-should-my-c-sharp-application-write-data-so-that-the-user-can-not-modify- O/35669488#35669488)。 –

+0

感谢科迪,看起来正是我所需要知道的。 –

+0

很抱歉,编辑此评论一段时间试图让它正确。 –

回答

0

的最好办法。如果他们是一些用户应与互动,那么他们就应该在文件夹去。请参见模糊相关的答案here. - Cody Gray

由用户帐户运行的应用程序具有与该用户相同的特权和权限。因此,应用程序无法做到用户无法自己做的事情。

如果您需要存储的数据旨在被用户浏览或修改,它应该放在Environment.SpecialFolder.Personal中。

否则,数据应该存储在Environment.SpecialFolder.ApplicationData(如果它应该漫游的用户帐户)或Environment.SpecialFolder.LocalApplicationData(如果它不应该漫游与用户,而应该被限制为本地机器)。

是的,用户可以进入这些文件夹并销毁数据。通过这样做,他们冒着破坏应用程序的风险。你无法保护自己。

开发一个“修复”实用程序,通过在应用程序启动时重新创建必要的文件(如果需要)可以从损坏中恢复。