вторник, 31 января 2012 г.

Глупенький пост про установку 1С с помощью msiexec

Для того, чтобы установить 1С на все компьютеры в сети, 1С предлагает варианты установки через логон-скрипт, либо через групповые политики. В силу определенных причин, наш системный администратор не хочет использовать ни тот, ни другой. Обычно установка производится батником, с помощью программы RemoteExec, запускающей этот батник на всех машинах.
Ну и просто, чтоб я в следующий раз снова не вспомниал как это все делается, то вот содержимое такого батника:

msiexec /i "D:\soft\!1C 8.2 platform\8.2.14.540\x86\1CEnterprise 8.2.msi" /quiet THICKCLIENT=1 THINCLIENT=0 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=1 LANGUAGES=RU 

Путь, естественно, будет заменен на сетевой. Ключ /i показывает, что мы устанавливаем новую программу, а /quiet прячет от пользователя все окна. В результате, на машинах будут установлены толстые клиенты и компоненты для доступа к серверам.

четверг, 19 января 2012 г.

Запускаем 2 сервера 1С 8.2 на одной машине

В связи с предстоящим переходом на 8.2.14.540 с установленной сейчас 8.2.13.205, потребовалось протестировать новую платформу. У нас есть два сервера - рабочий, виртуальный, к которому ключи проброшены средствами VMWare ESXi и тестовый, физический, в котором ключи воткнуты "напрямую".
На тестовом сервере я и начал играться.
Первый блин вышел комом. При установке я не снял галку "запускать серверную часть как службу" и 14-я платформа благополучно установилась ВМЕСТО 13-й. К счастью, 8.2 устанавливается не затирая файлы предыдущей версии и все что мне потребовалось сделать - в реестре изменить путь к исполняемому файлу ragent (с "C:\Program Files (x86)\1Cv82\8.2.14.540\bin\ragent.exe" на  "C:\Program Files (x86)\1Cv82\8.2.13.205\bin\ragent.exe").
"Хорошо", - подумал я. И попытался запустить ragent.exe из командной строки (все порты были изменены так, чтобы не пересекаться с портами других серверов, как 1С 8.1, так и 8.2, плюс, дополнительно был изменен каталог с серверной информацией - temp_srvinfo):

"C:\Program Files (x86)\1cv82\8.2.14.540\bin\ragent.exe" -regport 2641 -port 2640 -range 2660:2691 -d "C:\Program Files (x86)\1cv82\temp_srvinfo" -debug

К моему удивлению, все запустилось:

После этого я успешно запустил консоль кластера, создал новый кластер и подсоединил к нему имеющуюся базу данных. Я всегда считал, что это показатель того, что ключ виден и успешно используется. Но, когда я попытался запустить клиента на своей машине и соединиться с созданной БД, меня ждало громадное разочарование - "На сервере нет ключа", - кричала 1С. Точнее, сообщение было таким:
На компьютере сервера не обнаружена лицензия для использования сервера 1С:Предприятия! Если Ваш комплект поставки включает информацию для получения лицензии из центра лицензирования (пинкоды), то Вы можете получить лицензию для использования программы на данном компьютере. Если Вы используете комплект с аппаратной лицензией (ключом защиты), то проверьте установку ключа. Получить лицензию из центра лицензирования? Да/ Нет
После этого я попробовал запустить клиента на другой машине - результат тот же самый. Потом, я попробовал запустить клиента на том же сервере (и из той же сессии), но результат остался точно таким же. В свойствах БД стоял запрет на раздачу лицензий, я попробовал включить его, но результат оставался тем же самым.

Поиск в интернетах показал, что есть люди у которых все работает, но, увы, никто из них не делился конкретным рецептом как это сделать.
Тогда я решил попробовать остановить службу 8.2.13.205 и запустить оба сервера "как приложения". Оба запустились замечательно, но в итоге, ни к одному из них не получилось подключиться, ошибка все та же.
Поиск в интернетах привел на мисту. В итоге, все оказалось очень и очень просто. Подключившись "напрямую" к тестовому серверу через IP-KVM, я запустил сервер, и БИНГО! Все заработало.
Жаль, что этот момент ("Все "однотипные" сервера должны запускаться как службы, либо НЕ из терминальной сессии") напрямую не прописан нигде.
Результат. 8.2.14.540
и 8.2.13.205

upd 20.08.2015

Понадобилось мне запустить два сервера 8.3, причём оба как службы, поскольку запускалось всё на виртуальной машине и KVM бы не помог. Всё оказалось не намного сложнее. Стояла и была запущена как служба 8.3.6.2041, установил как обычное приложение 8.3.6.2152. Запустил FAR от администратора, из него cmd и выполнил sc create 1CNewServer binPath= "C:\Program Files\1Cv8\8.3.6.2152\bin\ragent.exe". В "Службах" появилась новая служба, отредактировал через regedit параметр ImagePath и всё, на одном сервере запущены две службы 8.3.

понедельник, 16 января 2012 г.

Книголюбя

Внезапно открыл для себя чудо-сервис bookmate - это шикарная онлайн-библиотека. Не знаю сколько в ней книг, но то что мне было интересно (из художественной литературы), я нашел.
Библиотека платная - 100 рублей в месяц или 1000 в год (хотя есть книги, которые можно читать бесплатно - Достоевский, Толстой, Чехов, в общем, преимущественно классика). Я пока купил подписку только на месяц, но думаю, что вскоре продлю на год. Прелесть заключается в том, что у них есть приложения для Symbian, Android и iOS, с помощью которых можно искать и читать книги с мобильного устройства. И приложения эти регулярно синхронизируются с сервером - т.е. в обед я читаю книгу с телефона, а вечером читаю за ноутбуком дома, причем с того самого места, где остановился в обед.
В случае, если предполагается, что читать я буду там где связи нет, книги можно загрузить себе на телефон и читать их без связи. Единственное, что потом, перед тем как открыть книгу на компьютере (с другого устройства), мне надо соединиться с сервером и синхронизировать библиотеку.
Возможно, восторг со временем поутихнет, но сейчас я более чем доволен. Это, пожалуй, первый случай, когда я готов пользоваться в "частной" жизни легальным контентом за деньги (в частной - поскольку на работе у меня все лицензионное :)).