1

Тема: Помогите сделать автообновление для скрипта

Добрый день! Хочу сделать для своего скрипта автообновление, но не знаю как. Поможете?

2

Re: Помогите сделать автообновление для скрипта

Сервер или хостинг куда заливать файлы имеется?

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

3

Re: Помогите сделать автообновление для скрипта

Да, Google Drive

4 (изменено: belyankin12, 2017-11-07 22:22:29)

Re: Помогите сделать автообновление для скрипта

В гугл документ записываем версию файла а в скрипте делаем переменную, которая будет показывать версию скрипта. Если версия в гугл документе не совпадает с версией скрипта - обнова. Ссылку на файл можно в тот же гугл докумнет записать.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

5

Re: Помогите сделать автообновление для скрипта

Помоги сделать переменную, туплю просто)

6 (изменено: belyankin12, 2017-11-08 18:27:49)

Re: Помогите сделать автообновление для скрипта

v := 1.0
Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

7

Re: Помогите сделать автообновление для скрипта


updatefile:="update.ini"
update:="тут прямая ссылка на ини файл"
download:="ссылка на файл который обновляем"
filename:="имя файла который обновляем"
update()

filedelete()
{
FileDelete %a_temp%/%filename%
}

update()
{
global
IniRead, oldupd, %a_temp%/%updatefile% ,version,build
FileDelete %a_temp%/%updatefile%

URLDownloadToFile, %update%, %a_temp%/%updatefile%
IniRead, newupd, %a_temp%/%updatefile% ,version,build

{
    if (oldupd != newupd)
        {
	    filedelete()
	    URLDownloadToFile, %download%, %a_temp%/%filename%
	    MsgBox, 0x40020, , Обновлено !
	   }	
}
}

8

Re: Помогите сделать автообновление для скрипта

А если запускать обновление из-под скрипта который нужно обновить? Вы бы уточнили как применять этот код.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

9

Re: Помогите сделать автообновление для скрипта

Удалять ини перед попыткой скачать новый — это ахтунг конечно, но суть передана верно.

belyankin12 пишет:

А если запускать обновление из-под скрипта который нужно обновить?

Никакой разницы, интерпретатор не блокирует скрипт после запуска процесса. Если же вы "компилируете" распространяемый скрипт, то нужно создавать временный батник, который запускается перед завершением процесса и удаляет .ехе, кладет на его место обнову, запускает ее и удаляет самого себя.
Но я предпочитаю не "компилировать" из-за следующих проблем:
• антивирусы,
• объем скачиваемого при обновлении сразу вырастает минимум на 600Кб, а если использовать FileInstall, то и больше.

10

Re: Помогите сделать автообновление для скрипта

Я делал упор на то, что скрипт будет компилированным, потому самоудаление не пойдет. Если этот код запустить в компилированном скрипте - возникнут проблемы.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

11

Re: Помогите сделать автообновление для скрипта

belyankin12 пишет:

Я делал упор на то, что скрипт будет компилированным

Где там у вас упор потерялся? К тому же вопрос не ваш, а notbadcompany и powercat про скомпилированность не писали.

12

Re: Помогите сделать автообновление для скрипта

Но это не значит что её не будет. Если сделать метод для компилированного скрипта, то он будет работать и на .ahk, а вот наоборот уже не выйдет.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

13 (изменено: powercat, 2017-11-11 03:42:56)

Re: Помогите сделать автообновление для скрипта

Код выше использую в отдельном скрипте(оба скомпилированные), как бы апдейтер получается. В конце дописать запуск  .exe если версия актуальна, да и все. Вообще так удобнее мне кажется и в плане безопасности лучше, чем все в один скрипт засовывать.