Gå til innhold

Self update av programvare


Anbefalte innlegg

Jeg har et program "updater.exe" som ligger lokalt på pc og som ved oppstart sjekker mot en webserver om det er lagt ut en oppdatering av et program.

 

Jeg ønsker å legge inn et script i en html-fil (ligger lokalt på pc) som som starter updater.exe. Jeg er ingen reser i programmering og trenger hjelp. Jeg har sakset følgende kode fra forum til programmet men vet ikke hvordan jeg skal løse dette. (Forumet er i dag stengt og jeg får derfor ikke hjelp der)

 

// 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); 
             } 
          } 
       } 
    } 
 } 

 

Er det noen som kan hjelpe meg?

Lenke til kommentar
Videoannonse
Annonse

Programmet strarter ikke fra en nettside. Updater.exe ligger lokalt på pc sammen med "html-filen". Udater.exe er et program som sjekker om det finnes oppdatereing som er lagt ut på web. Den sjekker en kryptert xml-fil.

 

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

Endret av HiSpeed
Lenke til kommentar
Jeg ønsker at dette skal skje automatis i det skjulte når mitt program starter (updater.exe startes i dag manuelt fra dette programmet) og gi brukeren beskjed hvis det finnes en oppdatering.

8782037[/snapback]

Hva slags program er det du snakker om? Hvor kommer HTML inn i bildet, og hva har dette med PHP å gjøre?

Lenke til kommentar

Det er ikke noe hokus pokus å enten skrive et batch-script eller et enkelt C#-program som kan starte Updater automatisk, men du må jo si når og hvor ofte du vil at dette skal skje.

 

(Dog feil forum)

 

EDIT:

Tror jeg misforstod problemstillingen litt. Men ved å sende ved en wrapper i C#, som starter både ditt program om updater, så har du løst problemet.

Endret av Nazgul
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...