当应用程序在 Windows 中安装时,背后发生了什么?

当应用程序在 Windows 中安装时,背后发生了什么?

当我们在 Windows 操作系统中安装 Windows 应用程序时会发生什么?我的意思是当我们运行 .exe 文件时,软件文件如何在操作系统中分布。当我在 PC 上安装 Visual Studio 时,我实际上有这个疑问。我已将安装目录选择为 D 盘。但我发现它的一些文件是在 C 盘中创建的,而我的操作系统安装在 Program files 下。实际上,C 盘中的那些文件(如应用程序数据、Program files 等)有什么用处。有没有网站可以参考。

答案1

不幸的是,这是微软常见的“问题”。在许多情况下,它们与操作系统驱动器有关联,而且你无法做太多事情来让微软应用程序完全地安装到另一个驱动器。我没有这方面的参考资料可以向您展示,但如果您在网上搜索将程序文件甚至用户目录移动到安装操作系统的驱动器以外的驱动器的方法,您会发现微软的几条“官方”回复说不支持它 - 尽管有注册表项可以帮助您做到这一点。(例如此链接

我使用 来解决这个问题,但成功率有限mlink /D <OS-drive directory the app insists on using> <directory on other drive you want the app to install to>。但是,这要求您在安装之前知道要使用的 OS 驱动器目录,并且该目录尚不存在。

当然,你可以将目录移动到另一个驱动器安装并使用mklink在原始操作系统驱动器位置处创建指向新位置的链接,但请注意,将目录移动到另一个驱动器可能会重置目录权限、将稀疏文件转换为全长文件,并扰乱符号链接或备用数据流。这就是为什么最好在安装之前创建链接。


请注意,“用户”目录尤其奇怪。我曾在非操作系统驱动器上安装过包含此目录的自定义 Windows,最初一切似乎都运行正常。但是,我最终总会遇到一些奇怪的问题,只有通过在操作系统驱动器上设置具有配置文件的用户(即而不是C:\Users\testD:\Users\test并执行我在该用户下遇到问题的任何操作才能解决。

正如我之前所说,Microsoft 知识库文章警告不要这样做,并且本质上说不支持这样做。

警告使用 ProgramData 设置将文件夹重定向到系统卷以外的驱动器将阻止您升级到未来版本的 Windows。

通过将用户配置文件目录或程序数据文件夹的默认位置更改为系统卷以外的卷,您将无法维护 Windows 安装。任何更新、修复或服务包都无法应用于安装。我们建议您不要更改用户配置文件目录或程序数据文件夹的位置。

相关内容