Устанавливаем wine для своего дистрибутива Linux. Версию, желательно, поновее, ведь прогресс не стоит на месте.
Запускаем wine - он создаст папку ~/.wine/ если сразу папка не появилась то запустите какое нибудь виндовое приложение (команда wine и через пробел какой-нибудь файл м расширением*.EXE)
Скачиваем Dcom95 (файл DC95Inst.EXE) c сайта Microsoft по ссылке (размер 1289144 байт)
или Dcom98 (файл DCOM98.EXE) c сайта Microsoft по ссылке (размер 1229056 байт).
Последний не рекомендуется, т.к. использование компонентов Windows 98 без лицензии незаконно. На Windows 95 лицензия уже не требуется!
Копируем Dcom95 в ~/.wine/drive_c/
-
Запускаем: 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 -
Библиотеки mfc42.dll наверняка не окажется в наличии. Также не помешает проверить наличие библиотек ole32.dll, oleaut32.dll, msvcrt.dll и/или msvcrt40.dll. Если их нет, то скачиваем их с сайта http://www.dll-files.com и копируем в наш windows\system32
-
Запускаем wine 1Csetup.exe (это установочный дистрибутив 1С), установка должна пройти без проблем. После этого устанавливаем конфигурации/базы.
-
Запускаем конфигуратор Wine (команда winecfg) и выполняем следующие действия:
открываем вкладку "Графика" и снимаем галочку с параметра "Разрешить менеджеру окон управлять окнами Wine";
если этого не сделать, то при старте программы в случае управления окнами оконным менеджером окно авторизации может оказаться под заставкой и программа может зависнуть на строчке "Загрузка конфигурационной информации..."Примечание: В WINE@Etersoft отключать параметр "Разрешить менеджеру окон управлять окнами Wine" нет необходимости - он корректно обрабатывает данный момент. Здесь выложена поледняя версия WINE@Etersoft 1.0.9-eter44 , которую можно было свободно установить и использовать без коммерческой части и которая работала лучше стандартного wine и Wine-public -
Запускаем 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
Проверьте все предыдущие шаги. -
[Этот пункт неоднозначен! Так как срабатывало и без указанных в этом пункте процедур]
Если всё увидели, то идём в меню выбора баз данных, добавляем базы, выбираем нужную и входим в неё через конфигуратор."Администрирование"->"Кодовая страница таблиц ИБ" меняем на "+Текущая системная установка".этот пункт надо повторить со всеми используемыми базами. Иначе при запуске будет выходить ошибка: "Порядок сортировки, установленный для базы данных, отличается от системного!"
Причём это сообщение наверняка окажется под прямоугольной заставкой 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 и более ранних этот трюк не срабатывает. -
Запускаем 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