Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Qt]Aktualizacja mojego programu

Ostatnio zmodyfikowano 2014-09-09 12:56
Autor Wiadomość
mar3
Temat założony przez niniejszego użytkownika
[Qt]Aktualizacja mojego programu
» 2014-08-25 00:42:47
Witam,

Piszę program w Qt i zastanawiam się jak zrobić aktualizację. Wpadłem na taki pomysł:
 - Najpierw program sprawdza czy jest nowa wersja, jak jest to ją pobiera (archiwum np. zip).
 - Rozpakowuje pobraną wersję i uruchamia zawarty w nich updater.exe
 - Następnie program się zamyka
 - updater.exe nadpisuje program i go otwiera

1. Co o tym myślicie?
2. Zastanawiam się czy użyć do tego protokołu HTTP czy FTP?
3. Chciałbym tak zrobić, żeby serwer zliczał pobrania aktualizacji, żebym mógł oszacować ile osób korzysta z programu. Może skrypt .php który zapisuje do bazy danych że ktoś pobiera aktualizacje, a następnie zwraca plik .zip?
4. Jak zrobić, żeby updater.exe poczekał na zamknięcie programu?
Z tego co czytałem to można go otworzyć za pomocą ShellExecute
C/C++
ShellExecute( reinterpret_cast < HWND >( this->winId() ), L"open",
L"updater.exe", 0,
L"C:", SW_NORMAL );
qApp->quit();

Z góry dzięki za pomoc.

P-116034
pekfos
» 2014-08-25 10:03:45
4. Pobierz PID (GetCurrentProcessId()) i przekaż go do programu w argumentach uruchomienia, a potem OpenProcess() i WaitForSingleObject().
P-116037
madmike44
» 2014-09-09 12:56:55
A poza tym poczytaj o bardzo przydatnym narzędziu - Qt Installer Framework (aktualna wersja 1.5.1):

http://qt-project.org/doc​/qtinstallerframework-1.5​/index.html

Narzędzie pozwala tworzyć instalatory, deinstalatory i updatery oprogramowania w wersjach online i offline - które działają dokładnie tak, jak instalator frameworka Qt. Istnieje oczywiście możliwość ustawiania wielu parametrów instalacyjnych, tworzenia skryptów instalacyjnych, itp. Mogę tylko polecić :D
P-116794
« 1 »
  Strona 1 z 1