如何为 32 位和 64 位应用程序维护单独的 PATH 变量?
我将迁移到 64 位 Windows 工作站,并将开发 32 位和 64 位应用程序。 运行 32 位版本与 64 位版本的应用程序时,我需要维护不同的 PATH 环境变量。
做这个的最好方式是什么? 似乎所有正在进行的注册表重定向都应该是可能的。
谢谢, 戴夫
I am moving to a 64 bit Windows workstation, and will be developing both 32 and 64 bit applications. I will need to maintain different PATH environment variables when running a 32 vs. 64 bit version of my application.
What is the best way to do this? It seems like it should be possible with all of the registry redirection that goes on.
Thanks,
Dave
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是不可能直接实现的,因为系统范围的环境变量存储在 HKLM\System\CurrentControlSet\Control\Session Manager\Environment 中,并且 SYSTEM 配置单元没有 WOW64 重定向。
如果您的程序安装在 Program Files 下,您可以将基于 %ProgramFiles% 的路径添加到 PATH 环境变量 - 在 WOW64 下运行时,%ProgramFiles% 会扩展为 32 位程序文件。
This isn't directly possible since system-wide environment variables are stored in HKLM\System\CurrentControlSet\Control\Session Manager\Environment, and there is no WOW64 redirection of the SYSTEM hive.
If your program installs under Program Files, you could add your path based off of %ProgramFiles% to the PATH environment variable - %ProgramFiles% expands to the 32-bit program files when running under WOW64.
我发现了一个“技巧”,它基于 Windows 对其 system32/SysWOW64 文件夹所做的重定向魔法。 它非常适合我的 32 位和 64 位 Oracle 客户端。
我已在我的网站上记录了该过程: 在 Windows 7 64 位上并行使用 32 位和 64 位 Oracle 客户端,例如 .NET 应用程序
相关部分:
I found a "trick" which is based on the redirection magic that Windows does with its system32/SysWOW64 folder. It works quite well for my 32 and 64-bit Oracle Clients.
I have documented the procedure on my website: Use 32 and 64bit Oracle Client in parallel on Windows 7 64-bit for e.g. .NET Apps
Relevant parts: