Варианты конфигурации

В системе установлена переменная окружения FSHELL Да Нет
Имеется файл конфигурации fcore.xml Да Нет Да Нет
Значение ключа isForcePath в файле конфигурации fcore.xml 1 0 1 0
Рабочий каталог берется из файла
конфигурации
fcore.xml
переменной
окружения
FSHELL
переменной
окружения
FSHELL
файла
конфигурации
fcore.xml
каталога
запуска
оболочки1)
Ошибка!

Логика простая:

  1. Если есть файл конфигурации fcore.xml и в нем прописано isForcePath = 1, то всегда используется путь из fcore.xml.
  2. Если задана переменная окружения FSHELL и отсутствует файл конфигурации fcore.xml или в этом файле прописано isForcePath = 0, то используется значение в FSHELL.
  3. Если нет файла конфигурации fcore.xml и переменной окружения FSHELL, то ошибка, рабочий каталог нельзя определить.
  4. И, наконец, если в файле конфигурации fcore.xml прописано isForcePath = 0, но нет переменной окружения FSHELL, то в файл fcore.xml записывается текущий каталог. Этот сценарий срабатывает только в случае запуска оболочки FShell из папки bin.

Проще всего завести переменную окружения FSHELL и выставить в fcore.xml значению isForcePath = 0, тогда можно без проблем переносить дистрибутив на другой компьютер без правки файла конфигурации fcore.xml и запускать оболочку FShell из любого места.

1) Имеется в виду сценарий, при котором оболочка FShell запускается из папки bin.