11°C
завтра: 5°C
Погода в Перми
11°C
ночью4°C
утром3°C
завтра5°C
Подробно
 63,79
+0.0046
Курс USD ЦБ РФна 24 апреля
63,7906
+0.0046
 71,75
+0.0243
Курс EUR ЦБ РФна 24 апреля
71,7453
+0.0243
PRM.Форум /Компьютеры Интернет Связь / Программирование /

Не работает Windows Service на русской версии Windows Помогите...

  • experienced

    Сообщений: 810

    Ситуация такая:

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

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

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

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

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

    Посоветуйте братья... хоть не решение, но хороший форум где много программистов... На хабр у меня входа нет... А заказчик уже кровожадно смотрит... Считает проблему простейшей.

  • guru

    Сообщений: 9338

    выставить какой-нибудь neutral там, где сейчас General Latin ?

  • experienced

    Сообщений: 810

    Спасибо за совет, но негде... Это в первую очередь искали... в дотнете сервис - производный класс от встроенного ServiceBase. У него есть свойство Localizable и казалось бы вот оно! Ставишь true и все хорошо. Ан нет. Винда ищет DLL не находит и гасит сервис. Она его при этом считает локализованным, да. Но при этом еще считает, что его language pack не уставлен для языка "русский". Раз нет DLL

  • guru

    Сообщений: 9338

    Может наоборот "ставишь false" - и счастье?
    но это так, в порядке ля-ля

  • experienced

    Сообщений: 810

    false там было изначально. Это вообще был суровый сюрприз... Сервис-то без интерфейса. Сейчас поступают данные, что, если сервис компиллировать на машине с русской виндой, то он работает на русском сервере!

  • experienced

    Сообщений: 810

    Кое-что проясняется... сервис ссылается на DLL-ки, которые в свою очередь ссылаются на Windows.Forms. Может, поэтому...

  • experienced

    Сообщений: 810

    Все, всем спасибо - победил. Дело было не в боббине. И не в отсутствии русских ресурсов.

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

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

Записей на странице:

Перейти в форум

Модератор: