Gå til innhold

Self update av programvare


Anbefalte innlegg

// Should we automatically check for updates? 
  if (CSettings::Instance()->GetCheckForUpdates()) 
  { 
     // Check if path exists 
     if (PathFileExists(_T("updater\\updater.exe"))) 
     { 
        // Run Updater 
        SHELLEXECUTEINFO ShRun = {0}; 
        ShRun.cbSize = sizeof(SHELLEXECUTEINFO); 
        ShRun.fMask = SEE_MASK_NOCLOSEPROCESS; 
        ShRun.hwnd = NULL; 
        ShRun.lpVerb = NULL; 
        ShRun.lpFile = _T("updater.exe"); 
        ShRun.lpParameters = _T("-checkforupdates"); 
        ShRun.lpDirectory = _T("updater"); 
        ShRun.nShow = SW_SHOW; 
        ShRun.hInstApp = NULL; 

        // Execute the file with the parameters 
        ShellExecuteEx(&ShRun); 

        // Wait until updater is finished, shouldn't take longer than 60 seconds to check for a new version 
        WaitForSingleObject(ShRun.hProcess, 60000); 

        // Is there a new version available? 
        ULONG lResult = 0; 
        if (GetExitCodeProcess(ShRun.hProcess, &lResult)) 
        { 
           if (lResult == 1) 
           { 
              // Show message box 
              if (AfxMessageBox(_T("A new update is available! Do you want to update now?"), MB_ICONQUESTION | MB_YESNO) == IDYES) 
              { 
                 // Launch updater again in full mode 
                 ShRun.lpParameters = NULL; 

                 // Run again 
                 ShellExecuteEx(&ShRun); 
              } 
           } 
        } 
     } 
  } 

 

Dette er en kode for å sjekke om det er lagt ut en oppdatering av et program.

 

Er det mulig å legge dette inn i en html-fil?

og i så fall - hvordan?

Lenke til kommentar
Videoannonse
Annonse

updater.exe er en fil som ligger lokalt på PC. Jeg ønsker å starte denne. Det er denne som sjekker mot web-server om det er publisert nye oppdatering.

 

Jeg ønsker å ha et script i min html-fil som starter updater.exe.

 

EDIT: HTML-filen ligger også lokalt på PC.

Endret av HiSpeed
Lenke til kommentar
Mye lettere å kjøre en <?php shell_exec(filnavn); ?> hvis det er mulig.

8780725[/snapback]

 

Problemet ligger i at jeg ønsker å sjekke om det er lagt ut en oppdatering. Hvis så er tilfelle skal brukeren få beskjed om dette og gjøre et valg om det skal kjøres en oppdatering eller ikke.

 

Dette skal skje når programmet starter og hvis det ikke er noen oppdateringer så skal det ikke skje noe.

 

EDIT: Kode for dette er beskrevet i starten her. Hvilken kode dette er vet ikke jeg :blush:

Endret av HiSpeed
Lenke til kommentar

Tror denne tråden skal flyttes over til C++ eller Delphi/Pascal

 

Det du trenger egentlig, er en fil som henter info fra en database

f.eks updater.php

<?php
$q = mysq_query("SELECT date,version_number FROM program_update ORDER BY version_number");
list($date, $version, $text) = mysql_fetch_row($q);
if($VARIABEL_FRA_PROGAM < $version) {
echo $date."-".$version;
}
?>

Så henter du denne infoen som en vanlig tekst fil og legger du det i en array

Endret av MrNeeon
Lenke til kommentar
Tror denne tråden skal flyttes over til C++ eller Delphi/Pascal

 

Det du trenger egentlig, er en fil som henter info fra en database

f.eks updater.php

<?php
$q = mysq_query("SELECT date,version_number FROM program_update ORDER BY version_number");
list($date, $version, $text) = mysql_fetch_row($q);
if($VARIABEL_FRA_PROGAM < $version) {
echo $date."-".$version;
}
?>

Så henter du denne infoen som en vanlig tekst fil og legger du det i en array

8781759[/snapback]

 

Problemet er at i dag startes updater.exe manuelt fra mitt program. Jeg ønsker at dette skal skje automatisk (i det skjulte) når bruker starter mitt program og gi brukeren en beskjed hvis det finnes en oppdatering.

 

Det er i den forbindelse jeg har funnet scriptet over og jeg lurer på om dette kan brukes/skrives om for html.

Endret av HiSpeed
Lenke til kommentar

Okai her er det mye rart med mange rare meninger.. :roll:

 

Hvilket språk bruker du? (jeg er ikke sikker på at det er c++)

Hvilket OS skriver du til?

 

Du snakker om program, men så vil du at koden i den første posten skal konverteres til html... jeg er forvirret.

 

Er ikke php et server side skript?

Hvordan kan da brukeren bruke det da?

Skal ha sette opp en webserver med php skript for å oppdatere et program?

 

Det er null problem å få til det du sier (det jeg tror du sier) i c++ uten alt det php jalla opplegget.

Endret av Giddion
Lenke til kommentar

Jeg skal prøve å forklare dette på nytt!

 

Jeg lager ebøker i html og bruker et "fantastisk" program HTML Executable for å generere kjørbare programmer (exe) som kan installeres på PC.

 

Jeg bruker også et program fra gvhsoftware for å oppdatere mitt program når det er lagt ut oppdateringer. Dette programmet ligger lokalt på PC og sjekker en kryptert xml-fil på mitt domene for oppdateringer. I dag må dette programmet (updater.exe) startes manuelt fra mitt program (exe-fil som er generet ut fra html-filer med programmer HTML Executable)

 

Jeg ønsker at sjekken etter oppdatering skal skje automatisk når mitt program starter uten at bruker merker dette. Det er i den forbondelse at jeg har funnet koden som skal fikse dette i forum på gvhsoftware. Problemet er at forumet nå er steng. Updater har tidligere vært et grats program som nå er blitt lisensiert og det er opprette et nytt forum.

 

Jeg kan ikke noe om programmering borsett fra litt html og det er derfor jeg spør om koden over kan brukes i html/skrives om for html.

 

Håper at dette er forståelig :)

Lenke til kommentar
Mye lettere å kjøre en <?php shell_exec(filnavn); ?> hvis det er mulig.

8780725[/snapback]

 

Er ikke dette en kode for å starte en exe-til?

 

<body onload ("function") >

Endret av HiSpeed
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...