Печать
Просмотров: 7714
 

Операционная система ScienicLinux 5.2 (RedHat Enterprise Linux 5.2) (NauLinux 5.2)


1. Устанавливаем wine. Версию, желательно, поновее.
(Про разновидности wine, wine@Etersoft, Wine-public и wine-vanilla здесь рассуждать не будем).
(на момент написания статьи я использовал wine-public версий 1.1.25, 1.1.29, и etercifs версии 4.3.9)

2. Запускаем wine - он создаст папку ~/.wine/ если сразу папка не появилась то запустите какое нибудь виндовое приложение (команда wine и через пробел какой-нибудь файл м расширением*.EXE)

3. Скачиваем Dcom95 (файл DC95Inst.EXE) c сайта Microsoft по ссылке (размер 1289144 байт)
или Dcom98 (файл DCOM98.EXE) c сайта Microsoft по ссылке (размер 1229056 байт).
Последний не рекомендуется, т.к. использование компонентов Windows 98 без лицензии незаконно. На Windows 95 лицензия уже не требуется!

4. Копируем Dcom95 в ~/.wine/drive_c/

5. Запускаем: wine DC95Inst.EXE. Распакуется файл DCom95.Exe (в каталог c:\windows\temp\x86)
Запускаем: wine c:\windows\temp\x86\DCom95.Exe /C /T:c:\\temp /Q.
dll-файлы извлекутся в каталог c:\temp.

Вариант 1:
Из распакованного архива копируем/перемещаем файлы ole32.dll, oleaut32.dll, olepro32.dll, rpcrt4.dll в папку /drive_c/windows/system32; при копировании система спросит о замене существующих файлов - для всех файлов нажимаем Заменить.

Вариант 2:
Копируем/перемещаем все из папки /drive_c/temp/ в /drive_c/windows/system32

Если ругнулся на неправильную версию Windows примерно вот таким сообщением:

DCOM95 can only installed on Windows 95.
For Windows 98, please install DCOM98.
For WindowsNT, please install latest service packs.


то НЕ НАЖИМАЯ КНОПКУ "OK" копируем все из папки /drive _c/windows/temp/ или /drive_c/temp/x86/temp/temp/ (по ситуации) в /drive_c/windows/system32

Примечание:
Если DCom95.Exe не запускается, то можно попробовать запустить его, проделав предварительные действия:
*. Запускаем winecfg, в приложениях добавляем DCom95.Exe,
выделив его выбираем вкладку "Библиотеки" делаем ole32=(сторонняя,встроенная)
*. Запускаем wine DCom95.Exe /Q

6. Библиотеки mfc42.dll наверняка не окажется в наличии. Также не помешает проверить наличие библиотек ole32.dll, oleaut32.dll, msvcrt.dll и/или msvcrt40.dll. Если их нет, то скачиваем их с сайта http://www.dll-files.com и копируем в наш windows\system32

7. Запускаем wine 1Csetup.exe (это установочный дистрибутив ), установка должна пройти без проблем. После этого устанавливаем конфигурации/базы.

8. Запускаем конфигуратор Wine (команда winecfg) и выполняем следующие действия:
открываем вкладку "Графика" и снимаем галочку с параметра "Разрешить менеджеру окон управлять окнами Wine";
если этого не сделать, то при старте программы в случае управления окнами оконным менеджером окно авторизации может оказаться под заставкой и программа может зависнуть на строчке "Загрузка конфигурационной информации..."

Примечание:
В WINE@Etersoft отключать параметр "Разрешить менеджеру окон управлять окнами Wine" нет необходимости - он корректно обрабатывает данный момент. Здесь выложена поледняя версия WINE@Etersoft 1.0.9-eter44 , которую можно было свободно установить и использовать без коммерческой части и которая работала лучше стандартного wine и Wine-public

9. Запускаем 1С. Запускать лучше из терминала - увидим все ошибки.

Если при запуске будет ругаться:


err:module:import_dll Library ole32.dll (which is needed by L"c:\\windows\\system32\\shlwapi.dll") not found
err:module:import_dll Library shlwapi.dll (which is needed by L"c:\\windows\\system32\\shell32.dll") not found
err:module:import_dll Library shell32.dll (which is needed by L"c:\\windows\\system32\\comdlg32.dll") not found
err:module:import_dll Library ole32.dll (which is needed by L"c:\\windows\\system32\\shlwapi.dll") not found
err:module:import_dll Library shlwapi.dll (which is needed by L"c:\\windows\\system32\\comdlg32.dll") not found
err:module:import_dll Library comdlg32.dll (which is needed by L"c:\\windows\\system32\\winecfg.exe") not found
err:module:import_dll Library ole32.dll (which is needed by L"c:\\windows\\system32\\shlwapi.dll") not found
err:module:import_dll Library shlwapi.dll (which is needed by L"c:\\windows\\system32\\shell32.dll") not found
err:module:import_dll Library shell32.dll (which is needed by L"c:\\windows\\system32\\winecfg.exe") not found
err:module:import_dll Library ole32.dll (which is needed by L"c:\\windows\\system32\\winecfg.exe") not found
err:module:import_dll Library ole32.dll (which is needed by L"c:\\windows\\system32\\shlwapi.dll") not found
err:module:import_dll Library shlwapi.dll (which is needed by L"c:\\windows\\system32\\winecfg.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"c:\\windows\\system32\\winecfg.exe" failed, status c0000135

Проверьте все предыдущие шаги.

10. [Этот пункт неоднозначен! Так как срабатывало и без указанных в этом пункте процедур]
Если всё увидели, то идём в меню выбора баз данных, добавляем базы, выбираем нужную и входим в неё через конфигуратор. "Администрирование"->"Кодовая страница таблиц ИБ" меняем на "+Текущая системная установка".

этот пункт надо повторить со всеми используемыми базами. Иначе при запуске будет выходить ошибка: "Порядок сортировки, установленный для базы данных, отличается от системного!"
Причём это сообщение наверняка окажется под прямоугольной заставкой - визуально мы его не увидим, и даже не сможем переключиться на него. Перед появлением этого сообщения раздастся характерный пик (сигнал).

Примечание:
Говорят, что для версий 7.7.026 и 7.7.027 необязательно менять в конфигураторе кодовую страницу, для этого в папке с установленной программой достаточно создать пустой файл OrdNoChk.prm. Но в некоторых ситуациях в NauLinux-е без смены на "+Текущую системную установку" запуск не получался.

ВНИМАНИЕ!:
Если доступ к базам будет осуществляться не только из-под Линукса, но и из-под windows, то менять кодовую страницу нежелательно, так как базы могут стать недоступными для windows-клиентов;
решение: в каталоге, куда установлена (как правило это c:\Program Files\1cv77\bin), создать пустой файл с именем OrdNoChk.prm, и при старте не будет проверять кодовые страницы;
данный трюк работает только в версии 1С 7.7.026 и выше;
в версиях 7.7.025 и более ранних этот трюк не срабатывает.

11. Запускаем . Выбираем базу, загружаемся. Если успеваем, то сразу переходим в пункт меню "Окна" - "Панель окон" отключаем параметр (галочка напротив "Показать" должна быть убрана). Если вылетает быстрее чем вы можете отключить эту функцию то запускаем wine regedit ищем ключ HKEY_CURRENT_USER/Software/1c/1cv7/7.7/имя базы/v7/default/Taskbar/ Создаём ключ формата string (строковый параметр), имя "Show", значение =0.

Либо скачиваем программку Copy1C.exe и запускаем её после установки всех конфигураций/баз в . На списке перечисленных конфигураций/баз нажимаем правую кнопку мыши и выбираем пункт "set all Show=0" - во все конфигурации/базы в реестре пропишется параметр "Show=0".


Если пишет ошибку: "Плохой путь Container.Contents" - проверьте все предыдущие шаги.
Либо попробйте назначить библиотеки для в winecfg:
Запускаем winecfg. Во вкладке "Приложения" нажимаем "Добавить приложение" и добавляем в список файл 1cv7.exe (исполняемый файл, который запускает приложение ; в зависимости от версии установленной программы этот файл может называться 1cv7l.exe (локальная версия), 1cv7.exe (сетевая версия) или 1cv7s.exe (SQL-версия)); затем в этой вкладке выделить добавленный файл, перейти во вкладку "Библиотеки" (Libraries) и добавить следующие библиотеки и настройки к ним:
"ole32" = "сторонняя";
"oleaut32" = "сторонняя";
"olepro32" = "сторонняя";
"rpcrt4" = "сторонняя, встроенная";
можно также прописать библиотеки msvcrt, msvcrt40 и mfc42 (параметры для всех - "сторонняя, встроенная"), но делать это надо аккуратно и только в том случае, если что-то не заработает (логи ошибок можно будет посмотреть, запустив из командной строки);

Второй вариант настроек:
"msvcrt40" = "сторонняя,встроенная"
"ole32" = "сторонняя,встроенная"
"oleaut32" = "сторонняя,встроенная"
"olepro32" = "сторонняя,встроенная"
"rpcrt4" = "сторонняя,встроенная"

если winecfg английский, то сторонняя=native, встроенная=builtin

Вариант настроек принятый по умолчанию в WINE@Etercifs Network 1.0.7n:
"msvcrt" = "родная"
"ole32" = "родная"
"oleaut32" = "родная"
"olepro32" = "родная"
"riched20" = "родная,встроенная"
"riched32" = "родная,встроенная"
"rpcrt4" = "родная,встроенная"
"stdole.tlb" = "родная,встроенная"
"stdole2.tlb" = "родная,встроенная"
"stdole32.tlb" = "родная,встроенная"

либо используются "Вайновские", а не "Виндовые" библиотеки oleaut32.dll, msvcrt.dll (пункт 6)

Если при запуске в меню вместо русских букв знаки вопросов, то лезем в реестр wine regedit и правим HKEY_CURRENT_USER/Sofware/Wine/Fonts/ меняем Codepages 1251,437 на Codepages 1251,866

Примечания:
1. Практика показала, что если заменить файл rpcrt4.dll, то другие windows-программы при установке и запуске могут "ругаться" на неправильную библиотеку rpcrt4, поэтому сначала попробуйте настроить 1Сv7.7 без этой библиотеки, и только в том случае, если будет работать некорректно или не работать вовсе, скопируйте и пропишите библиотеку rpcrt4.dll.
2. 1Сv7.7 под бесплатным Wine будет работать только в локальном режиме, подключаться к одной базе сразу несколько пользователей не смогут, так как во-первых базам нужно присвоить специальные права, а во-вторых в бесплатном Wine не реализована система блокировок.
3. Под бесплатным Wine в 1Сv7.7 некоторые меню не открываются и не выбираются нажатием клавиши Enter (например, при формировании платёжек, когда надо этой клавишей открыть список и выбрать клиента), только по двойному щелчку мыши; это создает определенные неудобства бухгалтеру в процессе работы с программой 1Сv7.7;
Проблема решается очень просто: для открытия таких меню нужно использовать не клавишу Enter, а сочетание клавиш Shift+Enter, а чтобы сделать выбор документа - Ctrl+Enter
4. В конфигураторе Wine лучше убрать виртуальный диск Z:, который является ни чем иным, как корневым каталогом; вместо него достаточно создать диск D: и связать с домашним каталогом и диск E: и связать с каталогом /media.


В данной статье использованы материалы собранные Поддубным Виталием и изложенные им в статье Установка и настройка 1С в системе Ubuntu Linux
Так же интересен его материал Установка 1С 7.7 на сервер терминалов Linux