Имя: Пароль:
1C
1С v8
Как узнать каталог установки платформы?
,
0 Багминот
 
03.08.15
11:13
Допустим, на машине установлено несколько релизов: 8.3.5.13, 8.3.5.15 и тд. Как узнать каталог установки самого свежего релиза? 1cestart откуда его узнает? Не хотелось бы парсить имена подкаталогов в "C:\Program Files (x86)\1cv8"
1 Fish
 
03.08.15
11:15
В СП:
"Глобальный контекст (Global context)
КаталогПрограммы (BinDir)
Синтаксис:

КаталогПрограммы()
Возвращаемое значение:

Тип: Строка.
Имя каталога исполняемых файлов программы.
Описание:

Получает имя каталога, в котором расположены исполняемые файлы программы.

Доступность:

Тонкий клиент, сервер, толстый клиент, внешнее соединение.
Пример:

ГдеИскать = КаталогПрограммы();
2 Багминот
 
03.08.15
11:16
(1) А не из 1С? (я хочу скрипт написать)
3 бомболюк
 
03.08.15
11:20
пошарь по реестру
4 Багминот
 
03.08.15
11:44
(3) вот в этом-то и вопрос... Шарил-шарил, пока не нашел
5 1Сергей
 
03.08.15
11:45
>>на машине установлено несколько релизов: 8.3.5.13, 8.3.5.15 и тд
>>Как узнать каталог установки самого свежего релиза?
>>А не из 1С?

пузырьком
6 Fish
 
03.08.15
11:46
(2) Юзай в скрипте 1cestart и проблема отпадёт.
7 Багминот
 
03.08.15
11:52
(6) Это же не на пустом месте проблема. А если мне надо подождать завершения процесса, к примеру, или pid его получить? 1cestart запустит, по своей логике, нужную платформу, закроется и привет!
8 1Сергей
 
03.08.15
11:57
(7) я все батники переписываю, когда платформу обновляю
9 Багминот
 
04.08.15
11:51
(8) Как-то это не очень весело... Вот мой однострочный вариант:

gwmi -Class Win32_Product -Filter "Vendor='1C'" | sort -Property Version -Descending | select -Property InstallLocation -First 1

ЗЫ: это пауэршелл
ЗЗЫ: надо все-таки, сортировать версии как числа, иначе теоретически, может не правильно сработать. Но это оставлю на ДЗ.
10 Мыш
 
04.08.15
12:04
(9) А чем шаришь в реестре?
Искать нужно примерно здесь:
HKEY_CLASSES_ROOT\V83.Application
HKEY_CLASSES_ROOT\V83.Application\CLSID
{УИД}
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{УИД}\LocalServer32
11 Мыш
 
04.08.15
12:07
(8) Наверное лучше завести свою переменную для батников.
12 1Сергей
 
04.08.15
12:08
(11) вполне вариант, но мне без надобности
13 Cube
 
04.08.15
12:09
Ну, раз никто не спросил, тогда позвольте мне: а нафига тебе это надо?
14 Багминот
 
04.08.15
12:24
(10) Спасибо! Вот это даже получше вариант! А то выбирать из Win32_Product не очень быстро.
15 Мыш
 
04.08.15
12:41
(14) Пожалуйста. Дык эта, чем шаришь по реестру?
16 Багминот
 
04.08.15
14:48
(15) Да глазками просто ) От разрядности ОС этот способ зависит, обидно. В Win 7 x64 ключи немного отличаются.
17 Мыш
 
04.08.15
16:41
(16) Эх, а я думал есть какое-нить консольное приложение для чтения реестра.
18 ДенисЧ
 
04.08.15
17:01
(17) reg export
19 Мыш
 
04.08.15
17:11
(18) Спасибо. Когда там индеец заметил, что в камере нет четвертой стены? )))
20 ДенисЧ
 
04.08.15
17:12
(19) Я не индеец, я не знаю про стены..
21 Мыш
 
04.08.15
17:16
(20) Это я про себя говорю, если что. Бородатый анекдот.
22 lodger
 
04.08.15
17:18
(13) присоединяюсь к вопросу.
а нафейхоа? неужели нельзя конфиги 1сестарта скрутить так как надо? он же и новый дистр выкачает потом если понадобится.