我想在C:\Windows\System32
或C:\Windows\Syswow64
之外的文件夹上安装 x86 CommandLine应用程序,并且仍然可以在CMD下访问我的应用程序,而无需在我的应用程序中添加应用程序的路径PATH
环境变量。
这可能吗?也许触摸所需的注册表项?
注意:我知道如何将我的应用程序添加到PATH
变量/ regvalue中,或者如何从CMD访问我的应用程序,将所需的.exe放在System32
/ SysWow64
文件夹中。这个问题只是为了学习替代方案,而不是解决PATH
或系统 dirs的问题。
我在this answer的@Sertac Akyuz评论中尝试了这种建议的方法,我已将MyApp.exe
存储在C:\
根目录中,但我无法检测到该应用程序将MyApp.exe
放在CMD下。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths\MyApp.exe]
@="C:\\MyApp.exe"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\MyApp.exe]
@="C:\\MyApp.exe"
[HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths\MyApp.exe]
@="C:\\MyApp.exe"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\MyApp.exe]
@="C:\\MyApp.exe"
答案 0 :(得分:5)
App Paths
注册表设置 - 由Windows资源管理器使用,用于在"运行..."中键入程序名称时查找程序盒子等等。这些设置不会影响cmd.exe
行为。
设置cmd.exe
路径以搜索应用的唯一方法是更改PATH
环境变量。您可以从自己的cmd.exe
/ .bat
开始.cmd
,在那里为当前会话设置所有必需的变量,而不是全局更改。