Не работает Windows Service на русской версии Windows Помогите...
3432
6
Ситуация такая:

Есть написанный на C# Windows service, VS 2010. Без интерфейса. Молча себе работает, ресурсов нет у него и локализация ему совершенно не нужна. И все было отлично, пока ПО поставлялось в страны с европейскими языками. Эти языки живут в одном локале, General Latin, если не ошибаюсь.

И вот пришел черед русской версии. И тут оказалось, что русская винда сразу после старта гасит сервер с издевательским сообщением, что этот сервис бесполезен для данного компьютера и потому остановлен.

Выяснилось, что это потому, что он не локализован. Винда ищет satellite resource DLL, не находит, и считает, что сервис для русской версии не предназначен. Останавливает его, чтоб не ел зря ресурсы.

Как правильно смастерить эту чертову DLL? Так чтоб винда находила ее как satellite resource DLL? Слышал, что надо поставить ее в GAC подписав криптоключем... но ниче пока не получается. Не могу сообразить как ее вообще создать... для проекта windows service в Visual Studio ресурсы не предусмотрены!

Упорные попытки гуглить ничего не принесли, ибо находятся мегатонны инфы о том, как локализовать всякие обычные приложения...

Посоветуйте братья... хоть не решение, но хороший форум где много программистов... На хабр у меня входа нет... А заказчик уже кровожадно смотрит... Считает проблему простейшей.
R00
выставить какой-нибудь neutral там, где сейчас General Latin ?
KSergey
Спасибо за совет, но негде... Это в первую очередь искали... в дотнете сервис - производный класс от встроенного ServiceBase. У него есть свойство Localizable и казалось бы вот оно! Ставишь true и все хорошо. Ан нет. Винда ищет DLL не находит и гасит сервис. Она его при этом считает локализованным, да. Но при этом еще считает, что его language pack не уставлен для языка "русский". Раз нет DLL
R00
Может наоборот "ставишь false" - и счастье?
но это так, в порядке ля-ля
KSergey
false там было изначально. Это вообще был суровый сюрприз... Сервис-то без интерфейса. Сейчас поступают данные, что, если сервис компиллировать на машине с русской виндой, то он работает на русском сервере!
R00
Кое-что проясняется... сервис ссылается на DLL-ки, которые в свою очередь ссылаются на Windows.Forms. Может, поэтому...
R00
Все, всем спасибо - победил. Дело было не в боббине. И не в отсутствии русских ресурсов.

Засада вот где:

В текст незаметно закралось название группы пользователей "Everyone" на английском языке!!!
В итоге вышло так, что испаноязычные и португалоязычные версии софта у нас есть и они работают. Но! Их сервера расположены в Штатах и на них такая группа пользователей есть. Оказалось, что в латинской америке сколько хочешь клиентов, но ни одного сервера. Локал нипричем.