-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Добавлена установка x64 дистрибутивов #10
Changes from 3 commits
38233f2
f09bf52
e2a29f4
1aedfad
a17fb80
9aaf758
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,6 +2,7 @@ | |
#Использовать fs | ||
#Использовать tempfiles | ||
#Использовать logos | ||
#Использовать strings | ||
240596448 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
Перем ЭтоWindows; | ||
Перем Лог; | ||
|
@@ -18,9 +19,14 @@ | |
Процедура УстановитьOneScript( | ||
Знач ВерсияКУстановке, | ||
Знач АлиасВерсии = "", | ||
Знач ОчищатьКаталогУстановки = Истина | ||
Знач ОчищатьКаталогУстановки = Истина, | ||
Знач ИспользоватьХ64 = Ложь | ||
) Экспорт | ||
|
||
Если ИспользоватьХ64 Тогда | ||
ИспользоватьХ64 = ПроверитьВозможностьУстановкиX64(ВерсияКУстановке); | ||
КонецЕсли; | ||
|
||
Лог.Информация("Установка OneScript %1...", ВерсияКУстановке); | ||
|
||
Если НЕ ЗначениеЗаполнено(АлиасВерсии) Тогда | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Была идея для неустановленного алиаса добавлять суффикс х64. Лучше все же оставить на усмотрение пользователя такой выбор, путем установки пути-алиаса. По крайней мере чтобы он осмысленно указал 1.4.0-x64 и понимал, что сопоставление |
||
|
@@ -42,7 +48,7 @@ | |
Лог.Отладка("Каталог установки версии: %1", КаталогУстановкиВерсии); | ||
|
||
Попытка | ||
ФайлУстановщика = СкачатьФайлУстановщика(ВерсияКУстановке); | ||
ФайлУстановщика = СкачатьФайлУстановщика(ВерсияКУстановке, ИспользоватьХ64); | ||
|
||
УстановитьOneScriptИзZipАрхива(ФайлУстановщика, КаталогУстановкиВерсии); | ||
ДобавитьSHСкриптыПриНеобходимости(КаталогУстановкиВерсии); | ||
|
@@ -56,9 +62,9 @@ | |
|
||
КонецПроцедуры | ||
|
||
Функция СкачатьФайлУстановщика(Знач ВерсияКУстановке) | ||
Функция СкачатьФайлУстановщика(Знач ВерсияКУстановке, Знач ИспользоватьХ64) | ||
|
||
Лог.Информация("Скачиваю установщик версии %1...", ВерсияКУстановке); | ||
Лог.Информация("Скачиваю установщик версии %1%2...", ВерсияКУстановке, ?(ИспользоватьХ64, "-x64", "")); | ||
|
||
ПутьКСохраняемомуФайлу = ВременныеФайлы.НовоеИмяФайла("zip"); | ||
|
||
|
@@ -103,7 +109,7 @@ | |
Таймаут | ||
); | ||
|
||
Ресурс = ПолучитьПутьКСкачиваниюФайла(ВерсияКУстановке); | ||
Ресурс = ПолучитьПутьКСкачиваниюФайла(ВерсияКУстановке, ИспользоватьХ64); | ||
Запрос = Новый HTTPЗапрос(Ресурс); | ||
|
||
Лог.Отладка("Сервер: %1. Ресурс: %2", Соединение.Сервер, Ресурс); | ||
|
@@ -215,7 +221,7 @@ | |
КонецЕсли; | ||
КонецПроцедуры | ||
|
||
Функция ПолучитьПутьКСкачиваниюФайла(Знач ВерсияКУстановке) | ||
Функция ПолучитьПутьКСкачиваниюФайла(Знач ВерсияКУстановке, Знач ИспользоватьХ64) | ||
|
||
Если СтрРазделить(ВерсияКУстановке, ".").Количество() = ПараметрыOVM.КоличествоРазрядовВНомереВерсии() Тогда | ||
КаталогВерсии = СтрЗаменить(ВерсияКУстановке, ".", "_"); | ||
|
@@ -228,11 +234,29 @@ | |
КонецЕсли; | ||
ИмяФайла = "zip"; | ||
|
||
Ресурс = СтрШаблон("downloads/%1/%2", КаталогВерсии, ИмяФайла); | ||
ЧастиПути = Новый Массив; | ||
ЧастиПути.Добавить("downloads"); | ||
ЧастиПути.Добавить(КаталогВерсии); | ||
Если ИспользоватьХ64 Тогда | ||
ЧастиПути.Добавить("x64"); | ||
240596448 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
КонецЕсли; | ||
ЧастиПути.Добавить(ИмяФайла); | ||
|
||
Ресурс = СтрСоединить(ЧастиПути, "/"); | ||
Возврат Ресурс; | ||
|
||
КонецФункции | ||
|
||
Функция ПроверитьВозможностьУстановкиX64(ВерсияКУстановке) | ||
// Версия х64 доступна для версий 1.2.0 и выше | ||
Если НРег(ВерсияКУстановке) = "stable" | ||
Или НРег(ВерсияКУстановке) = "dev" Тогда | ||
Возврат Истина; | ||
Иначе | ||
Возврат СтроковыеФункции.СравнитьВерсии(ВерсияКУстановке, "1.2.0") >= 0; | ||
КонецЕсли; | ||
КонецФункции | ||
|
||
СистемнаяИнформация = Новый СистемнаяИнформация; | ||
ЭтоWindows = Найти(ВРег(СистемнаяИнформация.ВерсияОС), "WINDOWS") > 0; | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Пробросил для каждой версии в цикле, а не установил параметр в класс установщика, потому что каждую версию нужно проверить на возможность установки х64