|
19 | 19 | КаталогУстановки = ПараметрыOVM.КаталогУстановкиПоУмолчанию(); |
20 | 20 | КаталогУстановкиВерсии = ОбъединитьПути(КаталогУстановки, ПроверяемаяВерсия); |
21 | 21 |
|
22 | | - Результат = ФС.КаталогСуществует(КаталогУстановкиВерсии); |
23 | | - Результат = Результат И ФС.ФайлСуществует(ОбъединитьПути(КаталогУстановкиВерсии, "bin", "oscript.exe")); |
| 22 | + СуществуетКаталогУстановкиВерсии = ФС.КаталогСуществует(КаталогУстановкиВерсии); |
| 23 | + СуществуетOscriptExe = ФС.ФайлСуществует(ОбъединитьПути(КаталогУстановкиВерсии, "bin", "oscript.exe")); |
| 24 | + ЭтоКаталогВерсии2 = ЭтоКаталогВерсии2(КаталогУстановкиВерсии); |
| 25 | + Результат = СуществуетКаталогУстановкиВерсии И (СуществуетOscriptExe ИЛИ ЭтоКаталогВерсии2); |
24 | 26 |
|
25 | 27 | Лог.Отладка("Версия %1 установлена: %2", ПроверяемаяВерсия, Результат); |
26 | 28 | Возврат Результат; |
|
57 | 59 |
|
58 | 60 | КонецФункции |
59 | 61 |
|
| 62 | +// Проверяет, что переданный каталог является каталогом OneScript 2.0+ |
| 63 | +// |
| 64 | +// Параметры: |
| 65 | +// КаталогУстановкиВерсии - Строка - Путь к конкретной версии. |
| 66 | +// |
| 67 | +// Возвращаемое значение: |
| 68 | +// Булево |
| 69 | +// |
| 70 | +Функция ЭтоКаталогВерсии2(КаталогУстановкиВерсии) Экспорт |
| 71 | + Возврат ФС.ФайлСуществует(ОбъединитьПути(КаталогУстановкиВерсии, "bin", "oscript.dll")); |
| 72 | +КонецФункции |
| 73 | + |
| 74 | +// Получает путь к исполняемому файлу OneScript по шаблону версии 1.x. |
| 75 | +// |
| 76 | +// Параметры: |
| 77 | +// КаталогУстановкиВерсии - Строка - Путь к конкретной версии. |
| 78 | +// |
| 79 | +// Возвращаемое значение: |
| 80 | +// Строка - Путь к исполняемому файлу. |
| 81 | +// |
| 82 | +Функция ПутьКИсполняемомуФайлуВерсии1(КаталогУстановкиВерсии) Экспорт |
| 83 | + |
| 84 | + ПутьКИсполняемомуФайлу = ОбъединитьПути(КаталогУстановкиВерсии, "bin", "oscript"); |
| 85 | + Если ЭтоWindows Тогда |
| 86 | + ПутьКИсполняемомуФайлу = ПутьКИсполняемомуФайлу + ".exe"; |
| 87 | + КонецЕсли; |
| 88 | + |
| 89 | + Возврат ПутьКИсполняемомуФайлу; |
| 90 | + |
| 91 | +КонецФункции |
| 92 | + |
| 93 | +// Получает путь к исполняемому файлу OneScript по шаблону версии 1.x. |
| 94 | +// |
| 95 | +// Параметры: |
| 96 | +// КаталогУстановкиВерсии - Строка - Путь к конкретной версии. |
| 97 | +// |
| 98 | +// Возвращаемое значение: |
| 99 | +// Строка - Путь к исполняемому файлу. |
| 100 | +// |
| 101 | +Функция ПутьКИсполняемомуФайлуВерсии2(КаталогУстановкиВерсии) Экспорт |
| 102 | + |
| 103 | + ПутьКИсполняемомуФайлу = ОбъединитьПути(КаталогУстановкиВерсии, "bin", "oscript"); |
| 104 | + Если ЭтоWindows Тогда |
| 105 | + ПутьКИсполняемомуФайлу = ПутьКИсполняемомуФайлу + ".bat"; |
| 106 | + КонецЕсли; |
| 107 | + |
| 108 | + Возврат ПутьКИсполняемомуФайлу; |
| 109 | + |
| 110 | +КонецФункции |
| 111 | + |
60 | 112 | // Получить информацию об установленных версиях |
61 | 113 | // |
62 | 114 | // Возвращаемое значение: |
|
253 | 305 |
|
254 | 306 | КонецФункции |
255 | 307 |
|
256 | | -// Получить полный путь к установленному движку OneScript (файлу oscript.exe) |
| 308 | +// Получить полный путь к исполняемому файлу OneScript (файлу oscript.exe|oscript.bat|oscript) |
257 | 309 | // |
258 | 310 | // Параметры: |
259 | 311 | // УстановленнаяВерсия - Строка - Алиас проверяемой версии |
260 | 312 | // |
261 | 313 | // Возвращаемое значение: |
262 | | -// Строка - Полный путь к файлу oscript.exe |
| 314 | +// Строка - Полный путь к исполняемому файлу oscript |
263 | 315 | // |
264 | 316 | Функция ПолучитьПутьКУстановленномуДвижкуOneScript(Знач УстановленнаяВерсия) Экспорт |
265 | 317 |
|
|
270 | 322 | "Результат = Элемент.Алиас = ДополнительныеПараметры.УстановленнаяВерсия", |
271 | 323 | Новый Структура("УстановленнаяВерсия", УстановленнаяВерсия)) |
272 | 324 | .Первые(1) |
273 | | - .Обработать("Результат = ОбъединитьПути(Элемент.Путь, ""bin"", ""oscript.exe"")") |
| 325 | + .Обработать(" |
| 326 | + |Если ВерсииOneScript.ЭтоКаталогВерсии2(Элемент.Путь) Тогда |
| 327 | + | Результат = ВерсииOneScript.ПутьКИсполняемомуФайлуВерсии2(Элемент.Путь); |
| 328 | + |Иначе |
| 329 | + | Результат = ВерсииOneScript.ПутьКИсполняемомуФайлуВерсии1(Элемент.Путь); |
| 330 | + |КонецЕсли; |
| 331 | + |") |
274 | 332 | .ПолучитьПервый(); |
275 | 333 |
|
276 | 334 | Возврат ПутьКУстановленнойВерсии; |
|
294 | 352 |
|
295 | 353 | КаталогУстановки = ПараметрыOVM.КаталогУстановкиПоУмолчанию(); |
296 | 354 | КаталогУстановкиВерсии = ОбъединитьПути(КаталогУстановки, ПроверяемаяВерсия); |
297 | | - ПутьКИсполняемомуФайлу = ОбъединитьПути(КаталогУстановкиВерсии, "bin", "oscript.exe"); |
| 355 | + ЭтоКаталогВерсии2 = ЭтоКаталогВерсии2(КаталогУстановкиВерсии); |
| 356 | + Если ЭтоКаталогВерсии2 Тогда |
| 357 | + ПутьКИсполняемомуФайлу = ПутьКИсполняемомуФайлуВерсии2(КаталогУстановкиВерсии); |
| 358 | + Иначе |
| 359 | + ПутьКИсполняемомуФайлу = ПутьКИсполняемомуФайлуВерсии1(КаталогУстановкиВерсии); |
| 360 | + КонецЕсли; |
298 | 361 |
|
299 | 362 | Команда = Новый Команда(); |
300 | 363 |
|
301 | | - Если ЭтоWindows Тогда |
| 364 | + Если ЭтоWindows ИЛИ ЭтоКаталогВерсии2 Тогда |
302 | 365 | Команда.УстановитьКоманду(ПутьКИсполняемомуФайлу); |
303 | 366 | Иначе |
304 | 367 | Команда.УстановитьКоманду("mono"); |
|
0 commit comments