Имя: Пароль:
1C
1С v8
v8: Как программно определить, каким дистрибутивом установлена платформа 8.2?
0 Armando
 
20.11.11
13:53
Как известно есть два дистрибутива: полный и только тонкий клиент.
Как можно однозначно определить, с какого дистрибутива произведена установка?
1 ДенисЧ
 
20.11.11
13:54
проверь наличие екзешников...
2 Armando
 
20.11.11
13:58
(1) старый дедовский способ)) тоже вариант
3 Defender aka LINN
 
20.11.11
14:23
(0) А какова прикладная цель?
4 Armando
 
20.11.11
15:05
(3) Тру админы скажут "фи")) Хочу автоматизировать обновление платформы у юзеров.
При запуске 1С, срабатывает скрипт обновления платформы. При наличии новой версии установка происходит в тихом режиме, юзеры не о чем не подозревают. Через неделю обновляю сервер 1С и меняю параметр Version в списке ИБ. Profit.
Но у нас есть сотрудники, у которых инсталица только тонкой клиент с облегченного дистрибутива. Вот надо как-то определять с какого дистрибутива была установка, чтоб подсунуть нужную установку.

Данные извращения связаны с отсутствием у нашего админа прав на GPO и logon скрипты(
5 Sakura
 
20.11.11
15:07
(4) у админа нет прав на GPO? О_о а с какого перепуга?
6 Armando
 
20.11.11
15:08
(5) С перепуга наших "Global IT"
7 Sakura
 
20.11.11
15:09
(6) мнда. извращенство какой-то, и издевательство.
8 Armando
 
20.11.11
20:18
Кому интересно вот такая заготовочка родилась:

&НаКлиенте
Процедура Команда1(Команда)
   
   Инсталлер = Новый COMОбъект("WindowsInstaller.Installer");
   Продукты = Инсталлер.Products;
   
   СообщениеПользователю = Новый СообщениеПользователю;
   
   Для Каждого Продукт Из Продукты Цикл
       НаименованиеПродукта = Инсталлер.ProductInfo(Продукт, "ProductName");
       Если Найти(НаименованиеПродукта, "1С:Предприятие 8.2") > 0 Или Найти(НаименованиеПродукта, "1C:Предприятие 8.2") > 0 Тогда
           Версия = ДекодироватьВерсию(Инсталлер.ProductInfo(Продукт, "Version"));
           СообщениеПользователю.Текст = НаименованиеПродукта + ", версия " + Версия;
           СообщениеПользователю.Сообщить();
       КонецЕсли;
   КонецЦикла;
   
КонецПроцедуры

&НаКлиенте
Функция ДекодироватьВерсию(Знач Версия)

   Версия = Число(Версия);
   Возврат Строка(Цел(Версия/65536/256)) + "." + Строка(Цел(Версия/65535)%256) + "." + Строка(Версия%65536);

КонецФункции
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.