【问题标题】:Saving an install directory for software保存软件的安装目录
【发布时间】:2016-08-11 14:06:11
【问题描述】:

我有一个正在使用 Java 开发的软件工具。它将同时部署到 Windows 和 Linux。我正处于尝试确定保存用户安装目录(我将存储所有外部文件)的最佳操作过程的阶段。理想情况下,我希望用户能够将程序移动到他们选择的任何目录(即使在安装之后),它仍然能够找到安装目录。

我曾考虑使用环境变量来保存路径,但我不确定这是否是最佳做法。

在 Linux 和 Windows 上保存安装目录路径的标准做法是什么? (我愿意为每个操作系统制定不同的安装逻辑)

编辑

经过一番研究,我发现 Linux 的 /etc 文件夹是我应该存储数据和 Windows 注册表的地方。谁能证实这一点?

【问题讨论】:

  • 在 Windows 上,路径通常存储在注册表中。
  • @Blobonat,我知道这通常是这种情况,但理想情况下,我希望在 Linux/Windows 上保持相同。但是,如果我必须在 Windows 和其他位置添加注册表,我相信我仍然可以这样做。
  • @Duck 您可以通过以下方式检查以获取当前操作系统并写入相应的安装目录:System.getProperty("os.name")
  • @SusannahPotts 是的,我已经有几个特定于操作系统的代码段,我更关心 在哪里我应该读/写而不是如何。
  • 是的 /etc/program-name 是 linux 中存储数据的标准位置

标签: java linux windows installation


【解决方案1】:

在 Windows 中,注册表工作得很好。这是我使用的产品的示例(带有 eurovoiceHMP 的 evo5.0): config 和 logging 文件夹的位置可以通过注册表手动配置, eurovoiceHMP 和 evo5.0 然后在注册表下“找到”这些文件夹: HKLM/软件/欧洲之声

具体的注册表设置示例: HKLM/软件/eurovoice/HMP: evoHMPlicencePath C:\ProgramData\eurovoice\HMP\Config\Licences.txt 安装路径 E:\hmpTest

HKLM/软件/eurovoice/evo50: evo50SystemVoiceFilesDir C:\TeleSage\sysvox 安装路径 C:\Program Files\evo5.0 evo50LogDir C:\TeleSage\Logs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    • 1970-01-01
    • 2016-05-10
    • 2013-09-12
    • 2010-11-26
    • 2019-07-05
    • 2018-03-31
    相关资源
    最近更新 更多