Far3 32 и 64 в одной папке

Хотите говорить о Far и не знаете, куда обратиться?
Kirillony
Posts: 232
Joined: Tue 24 Jan, 2006 18:49
Has thanked: 6 times
Been thanked: 4 times

Возможно скрестить x86 и x64 Far в одной папке?

Post by Kirillony »

Так хотелось бы иметь универсальный вариант, чтоб не оказаться в ситуации, когда на x86 под рукой только x64 Far. И чтоб не актуализировать каждый вразброс. Какие рецепты сможете предложить? Подводные камни есть?
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Re: Возможно скрестить x86 и x64 Far в одной папке?

Post by Smitis »

Вариант: Папки разные (точнее, вложенные папки X86, X64). Запускать через cmd. Проверять PROCESSOR_ARCHITECTURE.
На всех архитектурах одинаковая структура папки с ФАР-ом. Я бы делал так.
Разум когда-нибудь победит.
Kirillony
Posts: 232
Joined: Tue 24 Jan, 2006 18:49
Has thanked: 6 times
Been thanked: 4 times

Re: Возможно скрестить x86 и x64 Far в одной папке?

Post by Kirillony »

Smitis wrote:Вариант: Папки разные (точнее, вложенные папки X86, X64). Запускать через cmd. Проверять PROCESSOR_ARCHITECTURE.
Сколько ни думал - в голову пришла только эта мысль(с).
User avatar
GrAnD
Posts: 351
Joined: Thu 13 Oct, 2005 23:47
Location: Amsterdam
Been thanked: 3 times
Contact:

Re: Возможно скрестить x86 и x64 Far в одной папке?

Post by GrAnD »

Если бы все бинарники FAR 2 x64 были с соответствующим суффиксом (например FAR-x64.exe, Compare-x64.dll) то вообще не было бы никаких проблем, можно было бы свалить все в одну папку и не мучиться.
ksandr1v
Posts: 10
Joined: Wed 10 Jul, 2013 10:02
Has thanked: 1 time

Far3 32 и 64 в одной папке

Post by ksandr1v »

Добрый день.

По долгу службы мне постоянно требуется работать на различных ОС: xp_32, 7_32, 7_64, и т.д. У меня есть настроенный Far2 в котором для каждой битности своя копия бинарников (Far64.exe, Far32.exe и также с плагинами) и все лежит в одной папке. Кроме бинарников все остальное общее.
Вот решил переползти на Far3 и сразу проблема - что делать с lua5.1.dll, lua51.dll, luafar3.dll. Сделать две копии не получается, так как похоже они привязаны по имени.
Сразу скажу не могу использовать Far 32 на 64-х битных системах, так как тогда не будет доступа в папку windows\system32, а это иногда бывает нужно.

Есть какие-нибудь решения этой проблемы?
Игорь Юдинцев
Posts: 726
Joined: Sun 03 Apr, 2005 22:00
Location: Казань
Been thanked: 2 times

Re: Far3 32 и 64 в одной папке

Post by Игорь Юдинцев »

ksandr1v wrote:не могу использовать Far 32 на 64-х битных системах, так как тогда не будет доступа в папку windows\system32, а это иногда бывает нужно.
http://puu.sh/3zliB.png
User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

Re: Far3 32 и 64 в одной папке

Post by Kerberos464 »

можно попробовать как-то так:
(сам не проверял)

батник runfar.cmd

@echo off
if %PROCESSOR_ARCHITECTURE%==AMD64 (
copy lua5.1.dll.x64 lua5.1.dll /y
copy lua51.dll.x64 lua51.dll /y
copy luafar3.dll.x64 luafar3.dll /y
start "" far64.exe
) else (
copy lua5.1.dll.x86 lua5.1.dll /y
copy lua51.dll.x86 lua51.dll /y
copy luafar3.dll.x86 luafar3.dll /y
start "" far86.exe
)
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Far3 32 и 64 в одной папке

Post by Shmuel »

ksandr1v wrote:По долгу службы мне постоянно требуется работать на различных ОС: xp_32, 7_32, 7_64, и т.д. У меня есть настроенный Far2 в котором для каждой битности своя копия бинарников (Far64.exe, Far32.exe и также с плагинами) и все лежит в одной папке. Кроме бинарников все остальное общее.
Вот решил переползти на Far3 и сразу проблема - что делать с lua5.1.dll, lua51.dll, luafar3.dll. Сделать две копии не получается, так как похоже они привязаны по имени.
Сразу скажу не могу использовать Far 32 на 64-х битных системах, так как тогда не будет доступа в папку windows\system32, а это иногда бывает нужно.

Есть какие-нибудь решения этой проблемы?
Можно мудрить с батниками. Можно помещать lua*.dll на %path% вместо %farhome%.

Но единственное нормальное решение, на мой взгляд, это сделать 2 папки: одну для Far x86, другую для Far x64. Всё остальное, простите, изврат.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Far3 32 и 64 в одной папке

Post by DrKnS »

ksandr1v wrote:Сразу скажу не могу использовать Far 32 на 64-х битных системах, так как тогда не будет доступа в папку windows\system32
Вы пробовали?
Есть какие-нибудь решения этой проблемы?
Держать бинарники в разных подпапках, профиль - в общей. Завести батник far.cmd, который будет запускать фар нужной битности.
User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

Re: Far3 32 и 64 в одной папке

Post by Kerberos464 »

кстати, к разработчикам вопрос: а нельзя ли все эти lua*.dll вкорячить в сам far.exe на этапе сборки?
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Far3 32 и 64 в одной папке

Post by zg »

если не используются другие плагины на lua, то lua5.1.dll и luafar3.dll можно положить в папку с luamacro. lua51.dll нужен для экзотических случаев, вряд ли у вас такие есть.
Kerberos464 wrote:кстати, к разработчикам вопрос: а нельзя ли все эти lua*.dll вкорячить в сам far.exe на этапе сборки?
фар от них не зависит. нельзя. luamacro зависит, но тоже нельзя. при наличии второго плагина на луа будет загружено два луа-рантайма.
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Far3 32 и 64 в одной папке

Post by Shmuel »

Если нужен общий профиль, можно его создать в какой-то папке, а в папках Far32 и Far64 сделать симлинки на этот общий профиль (пробовал - работает).
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Far3 32 и 64 в одной папке

Post by DrKnS »

Shmuel wrote:в папках Far32 и Far64 сделать симлинки
Far.exe.ini - UserProfileDir.
2useven10
Posts: 5226
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 314 times

Re: Far3 32 и 64 в одной папке

Post by 2useven10 »

Никакие линки не нужны. У меня работает так:
профиль -- C:\Far3, far32 -- C:\Far3\32, far64 -- C:\Far3\64
оба Far.exe.ini содержат строку 'UserProfileDir=%FARHOME%\..'

И DrKnS прав, far32 видит System32 на 64-х битных системах.
ksandr1v
Posts: 10
Joined: Wed 10 Jul, 2013 10:02
Has thanked: 1 time

Re: Far3 32 и 64 в одной папке

Post by ksandr1v »

DrKnS wrote:
ksandr1v wrote:Сразу скажу не могу использовать Far 32 на 64-х битных системах, так как тогда не будет доступа в папку windows\system32
Вы пробовали?
Есть какие-нибудь решения этой проблемы?
Держать бинарники в разных подпапках, профиль - в общей. Завести батник far.cmd, который будет запускать фар нужной битности.
Действительно, сейчас попробовал создать файлик в system32 и он создался там где нужно, а не в SysWOW64. В тотале эта фишка не работает, поэтому подумал что и в фаре также. Но на сколько я помню есть другие ограничения для 32-битных процессов в 64-битный виндовс, хочется все таки родную битность.

Попробую фишку с профилем, спасибо.
Post Reply

Return to “Обсуждение Far Manager”