|
12 | 12 | мЗависимостиВРаботе = Новый Соответствие; |
13 | 13 | КонецЕсли; |
14 | 14 |
|
15 | | - ПутьУстановки = НайтиСоздатьКаталогУстановки(ФайлАрхива); |
16 | | - |
17 | 15 | мВременныйКаталогУстановки = ВременныеФайлы.СоздатьКаталог(); |
18 | 16 | Лог.Отладка("Временный каталог установки: " + мВременныйКаталогУстановки); |
19 | | - Лог.Информация("Устанавливаю пакет " + ПутьУстановки.Имя); |
20 | | - Попытка |
21 | 17 |
|
22 | | - Если мЗависимостиВРаботе[ПутьУстановки.Имя] = "ВРаботе" Тогда |
23 | | - ВызватьИсключение "Циклическая зависимость по пакету " + ПутьУстановки.Имя; |
24 | | - КонецЕсли; |
25 | | - |
26 | | - мЗависимостиВРаботе.Вставить(ПутьУстановки.Имя, "ВРаботе"); |
| 18 | + Попытка |
27 | 19 |
|
28 | 20 | Лог.Отладка("Открываем архив пакета"); |
29 | 21 | ЧтениеПакета = Новый ЧтениеZipФайла; |
|
33 | 25 | ФайлМетаданных = ИзвлечьОбязательныйФайл(ЧтениеПакета, Константы.ИмяФайлаМетаданныхПакета); |
34 | 26 |
|
35 | 27 | Метаданные = ПрочитатьМетаданныеПакета(ФайлМетаданных); |
| 28 | + ИмяПакета = Метаданные.Свойства().Имя; |
36 | 29 |
|
| 30 | + ПутьУстановки = НайтиСоздатьКаталогУстановки(ИмяПакета); |
| 31 | + Лог.Информация("Устанавливаю пакет " + ИмяПакета); |
| 32 | + Если мЗависимостиВРаботе[ИмяПакета] = "ВРаботе" Тогда |
| 33 | + ВызватьИсключение "Циклическая зависимость по пакету " + ИмяПакета; |
| 34 | + КонецЕсли; |
| 35 | + |
| 36 | + мЗависимостиВРаботе.Вставить(ИмяПакета, "ВРаботе"); |
| 37 | + |
37 | 38 | РазрешитьЗависимостиПакета(Метаданные); |
38 | 39 |
|
39 | 40 | СтандартнаяОбработка = Истина; |
|
46 | 47 |
|
47 | 48 | ВременныеФайлы.УдалитьФайл(мВременныйКаталогУстановки); |
48 | 49 |
|
49 | | - мЗависимостиВРаботе.Вставить(ПутьУстановки.Имя, "Установлен"); |
| 50 | + мЗависимостиВРаботе.Вставить(ИмяПакета, "Установлен"); |
50 | 51 |
|
51 | 52 | Исключение |
52 | 53 | ЧтениеПакета.Закрыть(); |
|
88 | 89 |
|
89 | 90 | КонецПроцедуры |
90 | 91 |
|
91 | | -Функция НайтиСоздатьКаталогУстановки(Знач ИмяПакета) |
| 92 | +Функция НайтиСоздатьКаталогУстановки(Знач ИдентификаторПакета) |
92 | 93 |
|
93 | 94 | СистемныеБиблиотеки = КаталогСистемныхБиблиотек(); |
94 | | - ФайлАрхива = Новый Файл(ИмяПакета); |
95 | | - ИдентификаторПакета = ФайлАрхива.ИмяБезРасширения; |
96 | | - |
97 | 95 | ПутьУстановки = Новый Файл(ОбъединитьПути(СистемныеБиблиотеки, ИдентификаторПакета)); |
98 | 96 | Лог.Отладка("Путь установки пакета: " + ПутьУстановки.ПолноеИмя); |
99 | 97 |
|
|
0 commit comments