假设(Windows 10、64 位)我有一个独立的 exe 文件,c:\example\example.exe - 未使用安装程序安装,注册表中没有任何内容,只有一个 exe 文件。
如果我然后进入注册表,并将键“example.exe”添加到 App Paths,并将其默认值设置为路径(.reg 文件片段):
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\example.exe]
@="C:\\example\\example.exe"
我的系统现在有什么不同?我现在能做什么,而在我添加之前我不能做什么?
没有什么不同。如果不需要使用安装程序安装程序,那么添加注册表项就没有实际意义。
我有许多这样的小程序,我只是从它们存储的位置运行它们。所以不需要路径。
如果需要路径,请使用 Windows 环境变量添加路径。高级 Windows 设置,高级选项卡,然后单击环境变量。这将比注册表项更可取。
最好不要有路径,这样您就可以从 USB 密钥或不同的(非操作系统)驱动器运行程序。
看起来像是 RTFM 的案例;我从这个评论中得到了一个文档链接(谢谢),所以我想我会发布一个简短的纲要。查看 MS 文档以获取完整的详细信息。
正如这个答案所暗示的那样,“应用程序路径”的主要目的是作为每个应用程序 PATH 条目的替代位置(与全局用户或系统 PATH 条目相反)。它还指定了 Windows(特别是
ShellExecute
)如何处理程序的一些细节。对于我的具体示例,它唯一做的就是指定“example.exe”的完整路径。这里可能有几个影响,但一个明显的影响是:
但是,子项下可能会出现一些其他值,它们会影响各种事情:
就是这样:路径、自定义拖放行为、URL 处理和一个看似任意的超特定调试器相关设置,我猜他们找不到更好的地方(或者它是一个旧的高优先级热修复和一些可怜的 MS 开发人员靠咖啡因和烟雾运行)。这是一个奇怪的小收藏;但我确信那里的一切都有历史原因。