Far3 32 и 64 в одной папке
Возможно скрестить x86 и x64 Far в одной папке?
Так хотелось бы иметь универсальный вариант, чтоб не оказаться в ситуации, когда на x86 под рукой только x64 Far. И чтоб не актуализировать каждый вразброс. Какие рецепты сможете предложить? Подводные камни есть?
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
Re: Возможно скрестить x86 и x64 Far в одной папке?
Вариант: Папки разные (точнее, вложенные папки X86, X64). Запускать через cmd. Проверять PROCESSOR_ARCHITECTURE.
На всех архитектурах одинаковая структура папки с ФАР-ом. Я бы делал так.
На всех архитектурах одинаковая структура папки с ФАР-ом. Я бы делал так.
Разум когда-нибудь победит.
Re: Возможно скрестить x86 и x64 Far в одной папке?
Сколько ни думал - в голову пришла только эта мысль(с).Smitis wrote:Вариант: Папки разные (точнее, вложенные папки X86, X64). Запускать через cmd. Проверять PROCESSOR_ARCHITECTURE.
Re: Возможно скрестить x86 и x64 Far в одной папке?
Если бы все бинарники FAR 2 x64 были с соответствующим суффиксом (например FAR-x64.exe, Compare-x64.dll) то вообще не было бы никаких проблем, можно было бы свалить все в одну папку и не мучиться.
Far3 32 и 64 в одной папке
Добрый день.
По долгу службы мне постоянно требуется работать на различных ОС: xp_32, 7_32, 7_64, и т.д. У меня есть настроенный Far2 в котором для каждой битности своя копия бинарников (Far64.exe, Far32.exe и также с плагинами) и все лежит в одной папке. Кроме бинарников все остальное общее.
Вот решил переползти на Far3 и сразу проблема - что делать с lua5.1.dll, lua51.dll, luafar3.dll. Сделать две копии не получается, так как похоже они привязаны по имени.
Сразу скажу не могу использовать Far 32 на 64-х битных системах, так как тогда не будет доступа в папку windows\system32, а это иногда бывает нужно.
Есть какие-нибудь решения этой проблемы?
По долгу службы мне постоянно требуется работать на различных ОС: 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 в одной папке
http://puu.sh/3zliB.pngksandr1v wrote:не могу использовать Far 32 на 64-х битных системах, так как тогда не будет доступа в папку windows\system32, а это иногда бывает нужно.
- 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 в одной папке
можно попробовать как-то так:
(сам не проверял)
батник 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
)
(сам не проверял)
батник 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 - весь фар перестал работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Far3 32 и 64 в одной папке
Можно мудрить с батниками. Можно помещать lua*.dll на %path% вместо %farhome%.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, а это иногда бывает нужно.
Есть какие-нибудь решения этой проблемы?
Но единственное нормальное решение, на мой взгляд, это сделать 2 папки: одну для Far x86, другую для Far x64. Всё остальное, простите, изврат.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Re: Far3 32 и 64 в одной папке
Вы пробовали?ksandr1v wrote:Сразу скажу не могу использовать Far 32 на 64-х битных системах, так как тогда не будет доступа в папку windows\system32
Держать бинарники в разных подпапках, профиль - в общей. Завести батник far.cmd, который будет запускать фар нужной битности.Есть какие-нибудь решения этой проблемы?
- 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 в одной папке
кстати, к разработчикам вопрос: а нельзя ли все эти 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 - весь фар перестал работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
- zg
- zero-gravity
- Posts: 6036
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Far3 32 и 64 в одной папке
если не используются другие плагины на lua, то lua5.1.dll и luafar3.dll можно положить в папку с luamacro. lua51.dll нужен для экзотических случаев, вряд ли у вас такие есть.
фар от них не зависит. нельзя. luamacro зависит, но тоже нельзя. при наличии второго плагина на луа будет загружено два луа-рантайма.Kerberos464 wrote:кстати, к разработчикам вопрос: а нельзя ли все эти lua*.dll вкорячить в сам far.exe на этапе сборки?
Re: Far3 32 и 64 в одной папке
Никакие линки не нужны. У меня работает так:
профиль -- C:\Far3, far32 -- C:\Far3\32, far64 -- C:\Far3\64
оба Far.exe.ini содержат строку 'UserProfileDir=%FARHOME%\..'
И DrKnS прав, far32 видит System32 на 64-х битных системах.
профиль -- C:\Far3, far32 -- C:\Far3\32, far64 -- C:\Far3\64
оба Far.exe.ini содержат строку 'UserProfileDir=%FARHOME%\..'
И DrKnS прав, far32 видит System32 на 64-х битных системах.
Re: Far3 32 и 64 в одной папке
Действительно, сейчас попробовал создать файлик в system32 и он создался там где нужно, а не в SysWOW64. В тотале эта фишка не работает, поэтому подумал что и в фаре также. Но на сколько я помню есть другие ограничения для 32-битных процессов в 64-битный виндовс, хочется все таки родную битность.DrKnS wrote:Вы пробовали?ksandr1v wrote:Сразу скажу не могу использовать Far 32 на 64-х битных системах, так как тогда не будет доступа в папку windows\system32
Держать бинарники в разных подпапках, профиль - в общей. Завести батник far.cmd, который будет запускать фар нужной битности.Есть какие-нибудь решения этой проблемы?
Попробую фишку с профилем, спасибо.