什么一些便携软件单独把配置文件放在 C 盘 Users 的文件夹下, 而不是 exe 文件的路径下?

2022-02-14 19:16:47 +08:00
 Dropless

最近从一台电脑迁移便携软件到另一台电脑上, 发现原本的配置文件并没有放在 exe 文件的路径下, 而是放在 C 盘 Users\Administrator\Application Data 下的. 用过的便携软件大多都是把配置文件放在 exe 文件同路径下的, 毕竟叫"便携软件"嘛.

那么便携软件把配置文件放到 C 盘是为何? 是有读写速度的提高吗? 还是单纯的失误?

1860 次点击
所在节点    Windows
9 条回复
yulon
2022-02-14 19:22:41 +08:00
假设你只有一个 C 盘的情况下,非管理员权限只能写到 AppData 去
natsukage
2022-02-14 19:41:16 +08:00
vista 开始软件就没有权限写 program files 了

标准做法规定就是软件只能写自己的 Appdata ,不能随便写 program files 。同时,因为这样的策略,所以同一台计算机上不同用户的配置文件是相互独立的,而不会所有用户共用同一个配置文件。
所以有些软件安装时候还会特地问你是给所有用户安装还是只给自己安装。给所有用户安装就是安装到 program files ,但是会弹 UAC
nightwitch
2022-02-15 09:51:27 +08:00
因为你已经习惯了用`Administrator`权限了。
如果你试过用普通用户(不能通过 UAC 提权的那种)你就会发现 C 盘许多目录都是没权限写的
ruanimal
2022-02-15 10:10:02 +08:00
这不是真正的便携软件
Dropless
2022-02-15 13:07:17 +08:00
@natsukage 原来是多用户的考虑, 没想到这一点, 感谢解答
zpvip
2022-02-15 17:39:20 +08:00
Appdata 文件夹下的软件可以静默升级,方便开发者修复软件运行太流畅的 Bug.
xinghen57
2022-02-15 19:14:01 +08:00
@yulon 你的回答逻辑不太对。多用户非管理员是没有 program files 的写权限。所以非管理员的便携软件也没法解压(安装)到 program files 下。
便携软件完全可以把配置文件放在 exe 的目录下,比如都在 appdata 下。
op 可以看看程序的安装目录,或者安装脚本,应该就能找到答案了。
ragnaroks
2022-02-15 20:30:19 +08:00
应用能跑估计就懒得改良安装流程了

说个偏的,有的人开发思维比较老,属于能跑就不会去动,windows 最新的 WCT 里面的 MVVM Toolkit 还有 使用 code behind 的示例代码
yulon
2022-02-16 17:17:50 +08:00
@xinghen57 你在说什么啊,用户复制或解压文件到无权限目录,系统会自动弹 UAC 提权,而程序运行时的提权,需要程序自己写清单文件或者调用提权 API ,否则就只能用户自己右击菜单里点管理员权限运行,一个是自动弹的 UAC ,一个是手动弹的 UAC ,这能一样吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/833847

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX