Операционная система 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 (это установочный дистрибутив 1С), установка должна пройти без проблем. После этого устанавливаем конфигурации/базы.
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. [Этот пункт неоднозначен! Так как срабатывало и без указанных в этом пункте процедур]
Если всё увидели, то идём в меню выбора баз данных, добавляем базы, выбираем нужную и входим в неё через конфигуратор. "Администрирование"->"Кодовая страница таблиц ИБ" меняем на "+Текущая системная установка".
этот пункт надо повторить со всеми используемыми базами. Иначе при запуске будет выходить ошибка: "Порядок сортировки, установленный для базы данных, отличается от системного!"
Причём это сообщение наверняка окажется под прямоугольной заставкой 1С - визуально мы его не увидим, и даже не сможем переключиться на него. Перед появлением этого сообщения раздастся характерный пик (сигнал).
Примечание: |
Говорят, что для 1С версий 7.7.026 и 7.7.027 необязательно менять в конфигураторе кодовую страницу, для этого в папке с установленной программой достаточно создать пустой файл OrdNoChk.prm. Но в некоторых ситуациях в NauLinux-е без смены на "+Текущую системную установку" запуск 1С не получался. |
ВНИМАНИЕ!: |
Если доступ к базам будет осуществляться не только из-под Линукса,
но и из-под windows, то менять кодовую страницу нежелательно,
так как базы могут стать недоступными для windows-клиентов; решение: в каталоге, куда установлена 1С (как правило это c:\Program Files\1cv77\bin), создать пустой файл с именем OrdNoChk.prm, и 1С при старте не будет проверять кодовые страницы; данный трюк работает только в версии 1С 7.7.026 и выше; в версиях 7.7.025 и более ранних этот трюк не срабатывает. |
11. Запускаем 1С. Выбираем базу, загружаемся. Если успеваем, то сразу переходим в пункт меню "Окна" - "Панель окон" отключаем параметр (галочка напротив "Показать" должна быть убрана). Если 1С вылетает быстрее чем вы можете отключить эту функцию то запускаем wine regedit ищем ключ HKEY_CURRENT_USER/Software/1c/1cv7/7.7/имя базы/v7/default/Taskbar/ Создаём ключ формата string (строковый параметр), имя "Show", значение =0.
Либо скачиваем программку Copy1C.exe и запускаем её после установки всех конфигураций/баз в 1С. На списке перечисленных конфигураций/баз нажимаем правую кнопку мыши и выбираем пункт "set all Show=0" - во все конфигурации/базы в реестре пропишется параметр "Show=0".
Если пишет ошибку: "Плохой путь Container.Contents" - проверьте все предыдущие шаги.
Либо попробйте назначить библиотеки для 1С в winecfg:
Запускаем winecfg.
Во вкладке "Приложения" нажимаем "Добавить приложение" и
добавляем в список файл 1cv7.exe (исполняемый файл, который запускает
приложение 1С;
в зависимости от версии установленной программы этот файл может называться
1cv7l.exe (локальная версия), 1cv7.exe (сетевая версия)
или 1cv7s.exe (SQL-версия));
затем в этой вкладке выделить добавленный файл,
перейти во вкладку "Библиотеки" (Libraries) и добавить следующие
библиотеки и настройки к ним: "ole32" = "сторонняя"; "oleaut32" = "сторонняя"; "olepro32" = "сторонняя"; "rpcrt4" = "сторонняя, встроенная"; можно также прописать библиотеки msvcrt, msvcrt40 и mfc42 (параметры для всех - "сторонняя, встроенная"), но делать это надо аккуратно и только в том случае, если что-то не заработает (логи ошибок можно будет посмотреть, запустив 1С из командной строки); Второй вариант настроек: "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