Вход | Регистрация
 
Информационные технологии :: Администрирование

Назначение веток реестра Windows для 1С

Назначение веток реестра Windows для 1С
Я
   Mikhail Volkov
 
12.05.21 - 18:30
Хотелось бы получить назначение веток реестра Windows для 1С. Сейчас конкретно интересует в какой ветке реестра хранится версия платформы серверной части при открытии консоли администрирования. А то на сервере установлены две платформы, и при открытии консоли администрирования иногда (в зависимости какую консоль открывали последней) выскакивает ошибка: Несоответствия версий клиента и сервера. Версия сервера не та, а версия клиента правильная. Приходится вручную номер порта исправлять.
Есть рекомендации, что перед запуском консоли для работы с определенной версией сервера необходимо каждый раз регистрировать нужную версию radmin.dll при помощи regsvr32. Однако этот вариант у меня не работает!? Хотелось бы написать bat-файл(ы), который бы проверял запускаемую версию сервера. Если не та, то исправлял бы ее.
   Garykom
 
1 - 12.05.21 - 18:33
   Mikhail Volkov
 
2 - 12.05.21 - 18:56
(1) Видел эту статью, в ней автор предлагает перед запуском консоли запускать reg-файл, который пишет в ветки реестра: [HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{A42674D4-2D97-4988-A81D-2C113CC42A95}InprocServer32] и [HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{803144C8-17E6-4926-86C5-C195B6D226D4}InprocServer32] значение: C:\Program Files\1cv8\НомерВерсии\bin\radmin.dll (в моем случае НомерВерсии 8.3.10.2466 и 8.3.17.1851). Но мне не помогло, переписывал значения версии вручную, запускаю консоль - дает ошибку несоответствия версий клиента и сервера, версия сервера не та. Вручную переписываю порт - все нормально! Закрываю консоль, открываю эту же консоль - все нормально, при этом значения этих веток реестра не меняется!? Может используется другой механизм?
   b_ru
 
3 - 12.05.21 - 21:28
>>Есть рекомендации, что перед запуском консоли для работы с определенной версией сервера необходимо каждый раз регистрировать нужную версию radmin.dll при помощи regsvr32

resvr32 от имени админа запускаешь? С эскалацией прав?
   acht
 
4 - 12.05.21 - 22:19
(0) Смирись. Там проблема в двух местах.

Во-первых надо регистрировать для использовании в консоли mmc оснастку нужной версии клиента. Это решается как раз батником, который ставится вместе с версией 1С и который надо запускать от админа.

Во-вторых, текущие настройки оснастки консоли (как раз те самые сервера/порты), они сохраняются между использованиями в разрезе имени оснастки. Ну и при перерегистрации оснастки вторая версия, естественно, получает настройки первой, лезет по ним и радосто получает отлуп от сервера, с которым корректно работала первая. Это не лечится.

Можно попробовать поиграться с удалением/переименованием файла в профиле "C:\Documents and Settings\<USERNAME>\Application Data\Microsoft\MMC\msisa", но это, естественно, повлияет на все остальные оснастки консоли. Ну может и еще что отвалится =)
   acht
 
5 - 12.05.21 - 22:23
Хотя, можно еще попробовать запускать консоль оснасток под разными пользователями, через runas или аналоги. Теоритечески файлы настроек будут разными в разных профилях. Может и взлетит.
   Garykom
 
6 - 12.05.21 - 22:31
проще отказаться от разных версий 1С и привести все к одной
   МихаилМ
 
7 - 12.05.21 - 22:34
(0) regmon Вам в помощь
   acht
 
8 - 12.05.21 - 22:54
(6) Или начать использовать rac/ras и гуёвые навороты над ним.
   Mikhail Volkov
 
9 - 13.05.21 - 06:57
(3) Нет, обычно, на своем компьютере я Администратор, пишет: C:\Program Files (x86)\1cv8\8.3.10.2466\bin>regsvr32 /n /i:user radmin.dll - Успешное выполнение DllInstall в radmin.dll.
А при регистрации 2-й платформы пишет: Модуль "C:\Program Files\1cv8\8.3.17.1851\bin\radmin.dll" загружен, но не удалось выполнить вызов DllRegisterServer, код ошибки: 0х80070005. Раньше не замечал... а от имени администратора: Успешное выполнение DllRegisterServer and DllInstall в C:\Program Files\1cv8\8.3.17.1851\bin\radmin.dll.
И значения веток в реестре поменялось с C:\Program Files (x86)\1cv8\8.3.10.2466\bin\radmin.dll на C:\Program Files\1cv8\8.3.17.1851\bin\radmin.dll.
Но все равно при запуске консоли ошибка: Несоответствия версий клиента и сервера. Версия сервера не та. Где-то еще версия сервера прописывается. Где, в реестре Windows?
В ветке HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{A42674D4-2D97-4988-A81D-2C113CC42A95} значение 1CV8 Server (x86-64) Administrator Class, в HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{803144C8-17E6-4926-86C5-C195B6D226D4} - 1CV83 Server (x86-64) Administrator About Class. Может по подобному значению можно найти. Как может называться?
   SiAl-chel
 
10 - 13.05.21 - 07:25
(0) Ставь на каждый сервер 1С по серверу администрирования ras и работой с ними в 1С через "Управление серверами".
   DrZombi
 
11 - 13.05.21 - 08:28
(9) Вы какую 1С ставите?
Я у вас в "солянке" бардака, вижу и х64 и х32.

Так же, судя по топику, вы эту консоль  тупо взяли и воткнули себе, скопировав файлики.
Потрудитесь с того ПК так же скопировать все 4 файла
      - radmin.dll
      - radmin_root.res
      - radmin_ru.res
      - RegMSC.cmd

И скопировать их соответствующей версии.

А зарегистрировать их, под Администратором ПК. (если вы этим администратором не являетесь)
...Так же у вин 10, есть еще Супер администратор, даже если вы являетесь администратором, то это нечего незначит :)
   Mikhail Volkov
 
12 - 13.05.21 - 09:49
(6) Альфа-Авто не работает выше 8.3.10.2466, и клиентская часть должна быть 32-разрядная, иначе торг оборудование не работает. А другие конфигурации требуют обновление платформы.
(11) > судя по топику, вы эту консоль  тупо взяли и воткнули себе, скопировав файлики. Потрудитесь с того ПК так же скопировать все 4 файла
Ничего не копировал, эти файлы установлены при установки платформ, у них даты разные: в C:\Program Files (x86)\1cv8\8.3.10.2466\bin - 29.06.2017, в C:\Program Files\1cv8\8.3.17.1851\bin - 17.11.2020. На рабочем сервере я Администратор, но экспериментирую на своем компьютере с Windows 10, вроде тоже Администратор.
(10) Сложно как-то (для меня), хотелось попроще... Пару лет назад подобная проблема с OLE соединением баз, работающих на разных версиях платформ: https://i.ibb.co/pdrH9Wy/COM.jpg. Нашел ветку реестра 1CV83 Application HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{E92B75E3-2EA1-4FEC-B493-CEF3EC59FCA6}\LocalServer32, переписывал в ней значение C:\Program Files (x86)\1cv8\8.3.10.2466\bin\1cv8.exe или C:\Program Files\1cv8\8.3.17.1851\bin\1cv8.exe прямо в 1С. Вот и здесь хотел что-то подобное...
Но после пришлось отказаться: доступ в реестру возможен только администратору, обычным пользователям этот метод недоступен.
(3) > С эскалацией прав?
Это как, возможно?
   Garykom
 
13 - 13.05.21 - 09:52
(12) >Альфа-Авто не работает выше 8.3.10.2466, и клиентская часть должна быть 32-разрядная, иначе торг оборудование не работает. А другие конфигурации требуют обновление платформы.
1. Можно взять новую платформу и установить в конфе режим совместимости
2. 32/64 версии сервера и клиента могут не совпадать
   Garykom
 
14 - 13.05.21 - 09:53
Короче ТС просто от недостатка знаний героически создает себе трудности
   Mikhail Volkov
 
15 - 13.05.21 - 11:52
(13) Нужны 2 платформы 8.3. По теме есть что сказать?
(3) Можно ли менять значение определенного реестра под обычным пользователем без административных прав? Раньше считал, что запуск команды SchTasks без административных прав бесполезно. Оказалось возможно Создать событие Windows из 1С возможно? Может и реестр можно настроить?
(12)+ В реестре хранится значение radmin.dll нужной версии. Открывается консоль с портом, значение которое последние использовалось. И описание сервера тоже, которое последним использовалось. Где-то это хранится. Где? Пусть не в реестре, каком то файле. Как до порта добраться?
   Garykom
 
16 - 13.05.21 - 11:59
(15) >Нужны 2 платформы 8.3. По теме есть что сказать?
Есть.
Не нужны они вам.
Как не нужно и две базы по com-соединению связывать для совместной онлайн работы.
Это просто кому то нефуй делать и занимается ИБД за счет работодателя
   acht
 
17 - 13.05.21 - 12:04
(15) Ты вообще тему читаешь, или у тебя тумблер "Д" в положении "Только запись" заклинило?
   Garykom
 
18 - 13.05.21 - 12:07
(17) Иногда в ИТ попадают совершенно неподходящие по складу характера и прочему
   b_ru
 
19 - 13.05.21 - 12:13
(12) Эскалация прав - это, например, когда командная строка запускается через "запуск от имени администратора" и уже в ней выполняется regsvr32

(15) Ну теоретически можно, нужно как-то поменять права на ветки рееста и на объекты DCOM (что в общем-то тоже ветки реестра), практически сложно выяснить на что именно.

А вообще нормальное решение только одно - перевести все на 18 ветку. Ну не нравится 18, переведите на 16. Нет в 1Се таких глобальных изменений в платформе, чтоб стоило ради них отказываться от перехода.
   b_ru
 
20 - 13.05.21 - 12:16
(19) А не прочитал что у вас альфа-авто. Ну даже в этом случае возможно проще будет его перетащить на современную платформу, чем двум платформам ужиться на одном хосте.
   Mikhail Volkov
 
21 - 13.05.21 - 12:52
(20) Уточню: Альфа-Авто 4.1, переход на Альфа-Авто 6 под большим вопросом...
(19) Ярлык Регистрация утилиты администрирования серверов x86-64 (8.3.17.1851) в Windows 10 не имеет "запуск от имени администратора". Сперва по ярлыку Дополнительно/Перейти к расположению файла, и оттуда возможен "запуск от имени администратора". Появится сообщение "Успешное выполнение DllRegisterServer and DllInstall в C:\Program Files\1cv8\8.3.17.1851\bin\radmin.dll". Но при запуске консоли все равно ошибка: Несоответствия версий клиента и сервера, версия сервера не та, порт не тот, описание сервера не то (из консоли, которая в последний раз открывал)!? Вручную правлю. В основном в этом проблема.
   acht
 
22 - 13.05.21 - 12:58
А потом подобные тебе будут кричать, что российский форумы токсичные и им никто не помогает...
   Garykom
 
23 - 13.05.21 - 13:04
(21) У меня альфа-авто 4.1 работает на последней 8.3.18
ЧЯДНТ?
   Mikhail Volkov
 
24 - 13.05.21 - 15:05
(23) Как то 1С-РАРУС ответил, что не выше 8.3.10, то не пытался, будет время попробую... Пока основная платформа 8.3.10.2466 для Альфа-Авто и КА1 (УПП). Платформа 8.3.17.1851 используется только для перехода на КА2.
(15)+ Нашел значение порта, значение которого последним использовалось, в файле пользователя C:\Users\mv\AppData\Local\1C\1cv82\appsrvrs.lst. Для моего компьютера:
{1,
{"tcp","mv-win10",1940,"Центральный сервер 1С:Предприятия 8.3 на этом компьютере, порт 1940"}
}
Перед запуском консоли для платформы 8.3.17.1851 надо порт исправлять на стандартное значение 1540.
   Mikhail Volkov
 
25 - 14.05.21 - 09:03
В статье (1) https://infostart.ru/1c/articles/818909/ в Комментариях 74. chuff 31.01.19 07:43 обратился с аналогичной проблемой: Различаются версии клиента и сервера. Как понял нужно в список серверов консоли добавить 2-й сервер с его портом. Это избавит каждый раз при открытии консоли переписывать номер порта: https://ibb.co/6ZS0GTh. Но ошибка: Различаются версии клиента и сервера все равно выскакивает!? Или не все понял в ответах ему?
   Cyberhawk
 
26 - 14.05.21 - 09:09
Ошибка выскакивает т.к. консоль запоминает последний кластер который был активен в дереве от прошлого сеанса работы с конолью и позиционируется на нем же при открытии "новой" консоли
   Cyberhawk
 
27 - 14.05.21 - 09:10
+(26) Лечится сохранением в отдельное место и подсовыванием обратно файлика настроек консоли перед ее запуском - для каждой свой файлик
   Cyberhawk
 
28 - 14.05.21 - 09:12
+(27) Файлики настроек оснасток лежат в "%AppData%\Microsoft\MMC"
   Mikhail Volkov
 
29 - 14.05.21 - 09:17
(27) Файл пользователя C:\Users\mv\AppData\Local\1C\1cv82\appsrvrs.lst?
(28) %AppData% где?
   Mikhail Volkov
 
30 - 14.05.21 - 09:54
(28) Может в этой C:\Users\mv\AppData\Roaming\Microsoft\MMC? Файлы 1CV8 Servers и 1CV8 Servers (x86-64)?
(27) Сложно... Проще в C:\Users\mv\AppData\Local\1C\1cv82\appsrvrs.lst нужный порт писать.
 
 
   Mikhail Volkov
 
31 - 14.05.21 - 11:00
А вот по bat-файлу из Быстрый запуск "Консоли администрирования 1С" любой версии (через bat файл) https://infostart.ru/public/944453/ вроде ошибка не выскакивает.
   Mikhail Volkov
 
32 - 14.05.21 - 14:39
Наверное потому что есть:
rem Удалить прежнюю регистрацию
FOR /L %%i IN (0,1,%num%) DO (
    start /wait regsvr32 /u /s !arrayRadmin[%%i]!
)

rem Зарегистрировать новую версию
start /wait regsvr32 !arrayRadmin[%num_curr%]! /s

rem Запуск
start mmc !arrayMmc[%num_curr%]!

На рабочем сервере работает, а на моем с Windows 10 - нет, система защиты запрещает. Как разрешить?
   Mikhail Volkov
 
33 - 15.05.21 - 13:12
А нет, запустился под Windows 10. Больше запрет защиты не выскакивает. Ошибка: "Различаются версии клиента и сервера" выскакивает, когда в прошлый раз работал работал с первым сервером, а теперь открываю консоль для 2-го сервера.
Добавил в консоль 2-й сервер, файл C:\Users\mv\AppData\Local\1C\1cv82\appsrvrs.lst больше не меняется, теперь порт менять не надо:
{2,
{"tcp","mv-win10",1540,"Центральный сервер 1С:Предприятия 8.3.17.1851, порт 1540"},
{"tcp","mv-win10",1940,"Центральный сервер 1С:Предприятия 8.3.10.2466, порт 1940"}
}
Но ошибка различия версий не устранилась. Меняются только файлы 1CV8 Servers и 1CV8 Servers (x86-64) в папке C:\Users\mv\AppData\Roaming\Microsoft\MMC (может еще где) при закрытии консоли. При чем при закрытии консоли открытой для сервера 8.3.10.2466 пишется в файл 1CV8 Servers, а для 8.3.17.1851 - в файл 1CV8 Servers (x86-64). Вроде файлы разные, но что читается при открытии консоли, что приводит к ошибке?
Кстати, если перед закрытием консоли сворачивать ветки серверов в консоли, то ошибки не возникает.
   Mikhail Volkov
 
34 - 18.05.21 - 06:40
Тут еще образовалась проблема на моем компьютере (на рабочем сервере все нормально): останавливается служба 1C:Enterprise 8.3.10.2466 Server Agent на нестандартных портах. Запускается нормально, но где-то через минуту останавливается. Первоначально сервер для 8.3.10.2466 платформы работал около года на диапазоне 17хх. Когда появилась эта проблема перевел на диапазон 18хх, проработал еще с полгода, перевел на 19хх. Вот теперь на 20хх, исполняемый файл:
"C:\Program Files\1cv8\8.3.10.2466\bin\ragent.exe" -srvc -agent -regport 2041 -port 2040 -range 2060:2091 -d "C:\Program Files\1cv8\srvinfo2041" -debug
Чем ему предыдущие диапазоны портов не нравятся? Где можно посмотреть причину остановки службы 1C:Enterprise 8.3.10.2466 Server Agent?
   Mikhail Volkov
 
35 - 19.05.21 - 06:25
Уже на диапазон 21хх перешил, на прежних 17хх - 20хх не работает!?
   SiAl-chel
 
36 - 19.05.21 - 09:28
(34) Такая ошибка обычно не от номеров портов, а от того, что пользователь, под которым работает служба сервера 1С, не имеет прав на запись в каталог этого сервера 1С. Проверь права на эту папку "C:\Program Files\1cv8\srvinfo2041".
   acht
 
37 - 19.05.21 - 10:27
(36) Там не в правах дело. Вернее, не только в правах. Там уже сидит процесс другого инстанса сервера, который лочит файлы.
   SiAl-chel
 
38 - 19.05.21 - 10:32
(37) Проблема одна и та же. rphost не может ничего записать туда, куда хочет.
   SiAl-chel
 
39 - 19.05.21 - 10:39
(12) Там ничего сложного. Устанавливаешь доп.компонент платформы, поднимаешь еще по сервису ras на каждый запущенный Сервер 1С, и подключаешься к серверам разных платформ и разных портов из одной обработку управления серверами 1С. Она уже встроена в платформу 1С в "Функциях для технического специалиста".
https://tavalik.ru/ustanovka-servera-administrirovanie-klastera-serverov-1spredpriyatiya/
   acht
 
40 - 19.05.21 - 10:44
(38) Проблема-то та же, лечение другое.
   Mikhail Volkov
 
41 - 19.05.21 - 14:58
(36) Для СИСТЕМА, USR1CV82, Администраторы - Полный доступ, для Пользователи - Чтение и выполнение.
(37) Не понял, другими словами, по понятнее...?
(40) В чем проблема, ее лечение?
   Mikhail Volkov
 
42 - 20.05.21 - 09:31
(35) На один день хватило... Служба 1C:Enterprise 8.3.10.2466 Server Agent опять останавливается!? Решил вернуться на диапазон 17хх: перешил порты в исполняемом файле службы, очистил папку C:\Program Files\1cv8\srvinfo1741, базы в консоли по новой пришлось создавать, перезагрузил компьютер (до перезагрузки была ошибка: Не найдено ни одного сервера с размещенным сервисом cerviceName=ClusterConfigService;), и все заработало! На долго ли? Но в следующий раз буду чистить не всю папку srvinfo1741.
   Mikhail Volkov
 
43 - 22.05.21 - 09:06
(42)+ В папке C:\Program Files\1cv8\srvinfo1741 файл неизмененный 1cv8wsrv.lst и папка reg_1741, в ней файл 1CV8Clst.lst - вроде тоже неизмененный (?), и 2 папки: fa7819ee-8309-47b2-ac05-b1d145ee1421 и snccntx48375928-03d2-4e13-ad9c-0b285bfa8b0f. В 1-й 2 папки: 1Cv8FTxt - неизмененная, и 1Cv8Log - измененная, переписал вчерашней копией (и файл 1CV8Clst.lst вроде тоже?). И все сегодня заработало.
   SiAl-chel
 
44 - 24.05.21 - 08:53
(41) Под каким пользователем домена или компа работает служба Сервер 1С, который ломится в каталог "C:\Program Files\1cv8\srvinfo2041"? Именно у этого пользователя полные права на этот каталог и вложенные в него файлы и каталоги?
   Mikhail Volkov
 
45 - 25.05.21 - 07:45
(44) Описанная проблема (34) проявлялась только на моем компьютере (на рабочем сервере все нормально) пользователь только я. 3 дня все нормально...
Еще бы разобраться с ошибкой: "Различаются версии клиента и сервера" (33). Как происходит открытие консоли, откуда читаются настройки для восстановления ее состояния?
   Mikhail Volkov
 
46 - 26.05.21 - 11:24
(44) Сегодня служба 1C:Enterprise 8.3.10.2466 Server Agent опять остановлена, запускаю - работает не более минуты. В папке C:\Program Files\1cv8\srvinfo1741\reg_1741 изменен файл 1CV8Clst.lst, и добавлен 1CV8Clsto.lst. Удалил их, вставил первоначальный 1CV8Clst.lst, службу 1C:Enterprise 8.3.10.2466 Server Agent запустил, не останавливается, открыл базу на портах 17хх. Файл 1CV8Clst.lst не меняется, открыл консоль (с ошибкой: "Различаются версии клиента и сервера"), закрыл - 1CV8Clst.lst не меняется. Что заставляет его меняться (и добавлять 1CV8Clsto.lst)?
   Mikhail Volkov
 
47 - 05.06.21 - 12:02
(39) > Устанавливаешь доп.компонент платформы, поднимаешь еще по сервису ras...
Какой доп.компонент, deployka? Смотрел статью по вашей ссылке, мало что понял. Вспомнил по нее в связи с другой задачей: все базы SQL, бекапы выполняются SQL средствами. Но были случаи выхода SQL-сервера из строя на неделю, и более. Поэтому приделал автоматическое создания ночной dt-выгрузки базы сразу по завершению работы в базе последнего пользователя. В ночное время каждый час устанавливается блокировка базы, каждому пользователю сперва задается вопрос о завершении работы. Если пользователь ответил отказом, то блокировка снимается до следующего часа. А если не ответил, то его работа завершается принудительно. По завершению работы последнего пользователя в базе проверяется открыт ли конфигуратор, если открыт, то его закрывает. Затем запускает задание Windows на выполнение bat-файла по созданию файла dt-выгрузки базы.
Все это (запуск задание на выполнение dt-выгрузки) делается непосредственно в базе по завершению работы последнего пользователя. Но замечено: что пользователей в базе нет, а в ЖР выход последнего пользователя не зарегистрирован. Только под утро в случае отсутствии файла dt-выгрузки выполняется по расписанию. Но под утро может быть поздно (в последний раз SQL-сервер выходил из строя как раз ночью), хотелось бы чтобы ночью каждый час проверялось наличие пользователей в базе (если открыт конфигуратор, то закрывать его) командами bat-файла. Возможно?


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.