首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将信息存储在卸载后仍然存在的文件中

将信息存储在卸载后仍然存在的文件中
EN

Stack Overflow用户
提问于 2011-02-08 07:17:37
回答 2查看 224关注 0票数 0

我正在开发一个将通过ClickOnce发布的应用程序。我一直在使用Application.ExecutablePath文件夹来存储一些许可信息。现在,我希望应用程序检查更新,但每当它检查更新时,许可证文件就会丢失,用户需要再次输入信息。看起来ClickOnce基本上是在卸载并重新安装应用程序的新版本。我可以将许可证文件保存在系统文件夹中的某个位置,但这是一个丑陋的解决方案。另一个同名的文件可能已经存在,或者我可能会得到访问被拒绝的异常或类似的东西。我不是想隐藏文件。我需要文件夹可以在没有管理员特权的情况下访问。

那么,在卸载(或更新)应用程序后,存储文件的最好、最安全的方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-08 07:28:23

我认为您应该将其存储在公共应用程序数据位置。您可以通过以下代码获取文件夹路径

代码语言:javascript
复制
Environment.GetFolderPath(System.Environment.SpecialFolder.CommonApplicationData);

此文件夹是内置的特殊文件夹。它的主要用途是为使用同一应用程序的所有用户存储共享的应用程序数据。通常,您希望在该文件夹下创建一个包含公司名称和产品名称的子文件夹,这样它就不会与其他应用程序冲突。如果您不想将许可证密钥共享给同一台计算机上的所有用户,则可以改用System.Environment.SpecialFolder.ApplicationData

票数 1
EN

Stack Overflow用户

发布于 2011-02-08 07:46:57

我见过许多应用程序将它们的许可证设置隐藏在注册表中--有时隐藏在聪明的密钥名称下。我讨厌它作为一个用户,但如果你喜欢保留数据,我认为注册表是最好的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4927839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档