【发布时间】:2013-05-21 11:23:20
【问题描述】:
我注意到,如果您将该应用程序 .exe 文件移动到另一个位置,用户设置会重置。
据我了解,这是因为 app 数据文件夹中的位置也是基于 .exe 的路径,在生成哈希时会考虑到这一点。
我知道有不同的选择,要么使用注册表,要么手动创建自定义配置文件,但我的问题是,当应用程序 (.exe) 移动到另一个位置时,是否可以保留用户设置Microsoft 提供的默认功能?
对于我的测试,我使用一个独立的应用程序(仅一个 .exe 文件)。只需将文件从/Desktop/ 移动到/Desktop/Test/,就会在C:\Users\<user>\AppData\Local\<company>\Appname_Url_<hash> 下生成一个新文件夹,其中包含默认的user.config。旧的 user.config 仍然可用,因此如果您将 .exe 文件移回其之前的位置,则之前的设置会再次加载。这变得很麻烦,不仅因为您丢失了设置,而且如果您在 10 个不同的位置移动文件 10 次,最终会在 appdata 中添加 10 个新文件夹。
【问题讨论】:
-
可能更适合superuser.com。当然,除非“那个应用程序”是您自己编写的应用程序。
-
当然是,毕竟这是一个编程相关的网站。所以这个问题与我正在编写的软件有关。因此 C#/winforms 标签:)
-
你是只移动exe文件还是移动所有文件夹?我认为如果您移动所有文件夹,它应该保持不变
-
它是一个独立的应用程序(只有一个 .exe 文件)。只需将文件从 /Desktop/ 移动到 /Desktop/Test/ 会导致在 C:\Users\
\AppData\Local\ \Appname_Url_ 下使用默认用户生成一个新文件夹.config 在里面。旧的 user.config 仍然可用,因此如果您将 .exe 文件移回其之前的位置,则之前的设置会再次加载。这变得很麻烦,不仅因为您丢失了设置,而且如果您在 10 个不同的位置移动文件 10 次,您最终会在 appdata 中添加 10 个新文件夹。 -
最后一条评论中的信息有助于解释您的问题,并且可能从一开始就应该包含在问题中。快,在获得更多反对票之前使用edit 链接。