在 Windows 上,安装 Python 等程序(无需提升权限)会将其安装目录默认为“%LocalAppData%\ Programs”。此目录是否等同于“Program Files”,但仅适用于特定用户?
答案1
我不认为约翰关于应用程序必须安装在哪里的说法是正确的。虽然在有限的用户配置文件中安装的程序在 Windows 中相对较新,但 VS Code 并不是唯一的,它确实安装到用户配置文件中的目录中,不需要管理员权限即可安装、运行或更新,实际上它是运行不需要增强权限的程序的推荐方法。
逻辑是,如果一个程序可以在有限的非管理员用户帐户配置文件的更有限的权限及其更严格的限制内完全运行,那么它本质上就是更安全的应用程序。
Google Chrome 也具有有限用户安装模式,这只是另一个提供此功能的著名程序的例子。
VS Code 在发布有限用户版后,就将其作为推荐选择,考虑到它是微软的产品,这说明了这种方法的可接受性。
答案2
在 Windows 上,安装 Python 等程序时,无需管理员权限,其安装目录将默认为“%LocalAppData%\Programs”。有些程序会将其直接安装到用户文件夹的根目录中。哪一个是正确的?
我想说的是,Windows 推荐的安装程序(无需提升权限)的二进制文件安装目录是什么?例如,VS Code 的用户安装程序默认将其安装目录设置为“%localappdata%\Programs”。如果您没有以提升的权限运行 Python 安装程序,情况也是如此。
%LocalAppData%\Programs
绝对是 Visual Studio Code 的正确安装位置,因为它使用了 Electron 框架。Atom 编辑器它也建立在Electron 框架,默认位置也使用%LocalAppData%
目录,在 Windows 上的用户配置文件内。 我没有理由相信它也不是 Python 的合法安装目录。
基于我安装的每个基于 Electron 框架构建的合法应用程序的安装目录都在 内%LocalAppData%
,我可以得出结论,每个基于 Electron 框架的应用程序也将安装到该%LocalAppData%
目录中。
Visual Studio Code 主要使用标准 Web 技术(HTML、CSS、JavaScript)构建。我们利用 Electron [以前称为 Atom] 作为跨平台主机。这使我们能够专注于核心体验,并将我们的精力投入到开发人员的工作效率(编辑、代码导航、代码理解和调试)上,并在 Mac OSX、Linux 和 Windows 上提供这些功能。我们正在与 Electron 团队合作,并积极为该框架做出贡献。
来源:微软的跨平台 Visual Studio Code 应用程序基于 Github 的 Atom 编辑器技术
我碰巧安装了 Atom,并且安装到了%LocalAppData%
我的配置文件内的目录中。 我的系统上也恰好安装了 Authy,它也是基于 Electron 框架构建的,它的可执行文件也位于%LocalAppData%
Chrome 也曾使用该%AppData%
目录来存储其可执行文件,这基本上允许任何用户在其电脑上安装 Chrome,因为他们对该%AppData%
目录拥有完全权限。 这并不重要,但 Chrome 多年前出于各种原因退出了该目录
更具体地说,Windows 中的哪个目录是供安装程序为特定用户安装其二进制文件/可执行文件的?
应用程序的可执行文件应存在于哪个目录完全取决于运行该应用程序的用户的权限。将应用程序安装到 目录中有正当的理由。%LocalAppData
其中一个原因是,权限有限的用户能够安装和运行该应用程序。 尽管 Chrome 的安装目录不再存在于 中%LocalAppData%
,但将其安装在那里的原因之一是为了避免安装 Chrome 时出现 UAC 请求。
这个目录是否相当于“Program Files”,但只针对特定用户?
本地应用数据绝对不等同于程序文件和程序文件 x86。
Windows 不会告诉程序任何事情。安装程序要么默认安装目录,并在获得用户许可的情况下继续安装,要么用户选择安装和目录,并在用户具有正确权限的情况下继续安装。
如果您确实愿意,您可以将所有内容安装到系统驱动器的根目录中,只要您以提升的权限运行所安装的所有内容,Windows 实际上并不关心应用程序可执行文件的位置。