"Если вдруг открылся люк, не пугайся, это глюк!" (с) Если что-то работает не так, вы нашли ошибку или опечатку в программе — вам в этот раздел
kav4ik
При различных вариантах загрузки сервера (как сервис или через ярлык) почему то он берет различные настройки сервера и при этом еще обнаружилось что не хватает некоторых пользователей которые были добавлены когда он работал через ярлык.
Аватара пользователя
Алексей Пикуров
Могу предположить, что тут "виновата" система виртуализации файловой системы Windows. Программа при разных вариантах запуска использует разные файлы базы данных, которые "подсовывает" ему операционная система. Откуда точно вы запускате сервис и вручную ярлык? С какими правами?

Нужно больше информации.
kav4ik
ярлык из меню пуск, а сервис работает от учетки system
Аватара пользователя
Алексей Пикуров
Непонятно. База данных сервера лежит в \AllUsers, и серверу в принципе, не важно, под каким юзером его запускают. Можете поискать на диске, где ещё находится копия базы? Надо выяснить этот момент.
kav4ik
Дело в том что там стоит windows server 2008 r2 b и поиск выдал след. результаты:
C:\ProgramData\MyChatServerFree\db\mainfree.abs
C:\Users\All Users\MyChatServerFree\db\mainfree.abs
C:\Users\kik\AppData\Local\VirtualStore\ProgramData\MyChatServerFree\db\mainfree.abs
C:\Users\Все пользователи\MyChatServerFree\db\mainfree.abs

как я понимаю когда я запускаю от своего имени kik то система создает для сервера копию файлов и потом их назад уже не помещает, возникает вопрос можно ли переместить эту копию назад в папку C:\ProgramData\MyChatServerFree\ и при этом не потерять данные что там находятся?
Аватара пользователя
Алексей Пикуров
Тема перенесена, поскольку вы используете бесплатную версию сервера.

Теперь по порядку.

Судя по тому, что вас файлы находятся в виртуальных папках - вы используете бесплатную версию MyChat Server ещё с тех пор, когда он хранил свою базу данных рядом с mcserv.exe
Далее, файл C:\ProgramData\MyChatServerFree\db\mainfree.abs - это эталонный файл базы данных, он пустой.

C:\Users\All Users\MyChatServerFree\db\mainfree.abs - вот это и есть основной файл базы данных, с которым идёт работа.

C:\Users\Все пользователи\MyChatServerFree\db\mainfree.abs - а вот это уже интересно. Как на сервере у вас может быть два каталога \AllUsers - один на английском, а один на русском?

P.S. Посмотрите на дату изменения файлов mainfree.abs
kav4ik
Hobit писал(а):Тема перенесена, поскольку вы используете бесплатную версию сервера.

Теперь по порядку.

Судя по тому, что вас файлы находятся в виртуальных папках - вы используете бесплатную версию MyChat Server ещё с тех пор, когда он хранил свою базу данных рядом с mcserv.exe
Далее, файл C:\ProgramData\MyChatServerFree\db\mainfree.abs - это эталонный файл базы данных, он пустой.

Нет он не пустой, а просто немного старее, если быть точнее то он используется когда сервер чата работает как сервис.
А каталоги:
C:\Users\All Users\
C:\Users\Все пользователи\
это просто символические ссылки на C:\ProgramData\
Аватара пользователя
Алексей Пикуров
Так, с сервисом всё правильно, сервер MyChat использует как раз тот файл, который нужно. А когда программа запущена как обычное GUI приложение, какой файл базы данных используется, можете проверить? Он в это время будет занят его нельзя будет открыть чем-то или переместить.
Аватара пользователя
Алексей Пикуров
P.S. Я немного неправильно написал, извините. Эталонный пустой файл базы данных лежит в \Program Files.
kav4ik
Как я понял она использует как раз вот этот файл, когда работает от пользователя:
C:\Users\kik\AppData\Local\VirtualStore\ProgramData\MyChatServerFree\db\mainfree.abs
Аватара пользователя
Алексей Пикуров
C:\ProgramData\MyChatServerFree\db\mainfree.abs

и

C:\Users\kik\AppData\Local\VirtualStore\ProgramData\MyChatServerFree\db\mainfree.abs

это конечно не одно и то же. Я не знаю, почему система так себя ведёт, если вам удастся выяснить, буду благодарен. В данной ситуации могу только посоветовать переписывать базу данных сервера после настроек в правильное место.

Это конечно "финты ушами", но я не понимаю, почему ОС виртуализирует файлы, которые находятся в \AllUsers. Сама же Майкрософт рекомендует размещать их там, во избежание проблем с совместимостью и нехваткой прав.
Аватара пользователя
Алексей Пикуров
При запуске сервера с ярлыка его следует запускать от имени администратора, из контекстного меню по правой кнопке мышки. Это не тоже самое, что запуск из-под учётной записи админа.

При таком запуске MyChat Server будет использовать те же базы данных, что и служба MyChat Server. Система виртуализации UAC Windows тут не будет виртуализировать файлы и не будет никаких расхождений в базах.