Code needed for automatic software update through Internet
-
I've searched and found no code on software update by Internet. Some gurus out there may be interested in writing a class CURLFileUpdate (MFC-MDI framework): (a) to read a list of {FileName, nVersion } from a given "Versions.ini" file. (b) to acess a file at a given URL to check for info (e.g. {FileName, nLatestVersion, bCritical} on files that are new or have later version, and to allow downloading these files and store them in a specified path. (c) to update the "Versions.ini" file (d) to allow the app to exit and then re-execute itself if any of the updated files is critical. Such a class would be very useful to a lot of programmers. I could cook up one for items (a,b,c), but I'll be stuck at (d) and the result will be pretty pathetic!!
-
I've searched and found no code on software update by Internet. Some gurus out there may be interested in writing a class CURLFileUpdate (MFC-MDI framework): (a) to read a list of {FileName, nVersion } from a given "Versions.ini" file. (b) to acess a file at a given URL to check for info (e.g. {FileName, nLatestVersion, bCritical} on files that are new or have later version, and to allow downloading these files and store them in a specified path. (c) to update the "Versions.ini" file (d) to allow the app to exit and then re-execute itself if any of the updated files is critical. Such a class would be very useful to a lot of programmers. I could cook up one for items (a,b,c), but I'll be stuck at (d) and the result will be pretty pathetic!!
Don't post your programming questions here - post them on the message boards like the Visual C++ or VB boards that are here. I think this is a really good idea - and I don't want this forum swamped with "help me, help me" questions. This is tha lounge, man. Chill
-
I've searched and found no code on software update by Internet. Some gurus out there may be interested in writing a class CURLFileUpdate (MFC-MDI framework): (a) to read a list of {FileName, nVersion } from a given "Versions.ini" file. (b) to acess a file at a given URL to check for info (e.g. {FileName, nLatestVersion, bCritical} on files that are new or have later version, and to allow downloading these files and store them in a specified path. (c) to update the "Versions.ini" file (d) to allow the app to exit and then re-execute itself if any of the updated files is critical. Such a class would be very useful to a lot of programmers. I could cook up one for items (a,b,c), but I'll be stuck at (d) and the result will be pretty pathetic!!
Yes , something is needed, ( Actually I need it for my current project ). I have been looking at doing something similar based on A explorer BHO. Eg when your user operates IE the dll does the verification and everything else for you :- for your 3rd party app. Kaizen I realise this sounds like a complicated method, but it solves step 4 easily. The advantages of this is the app will be updated even when it hasn't been used for a while. The disadvantage's are it's another dll to register etc, and a bit more memory usage. And it won't work to well for some netscape wombles. Regardz Colin Davies , P.S. unfortunatly I'm not a Guru
-
Don't post your programming questions here - post them on the message boards like the Visual C++ or VB boards that are here. I think this is a really good idea - and I don't want this forum swamped with "help me, help me" questions. This is tha lounge, man. Chill
Sorry. I didn't think that that was a programming question. I was just thinking aloud in the lazy lounge
-
Sorry. I didn't think that that was a programming question. I was just thinking aloud in the lazy lounge
-
I've searched and found no code on software update by Internet. Some gurus out there may be interested in writing a class CURLFileUpdate (MFC-MDI framework): (a) to read a list of {FileName, nVersion } from a given "Versions.ini" file. (b) to acess a file at a given URL to check for info (e.g. {FileName, nLatestVersion, bCritical} on files that are new or have later version, and to allow downloading these files and store them in a specified path. (c) to update the "Versions.ini" file (d) to allow the app to exit and then re-execute itself if any of the updated files is critical. Such a class would be very useful to a lot of programmers. I could cook up one for items (a,b,c), but I'll be stuck at (d) and the result will be pretty pathetic!!
-
Don't be sorry - Thinking out loud is what it's all about. This lounge is whatever you guys make it..
Very kind of you, Chris. I wonder, if you don't mind: 1. as the site is in Australia, how come the dates and times posted are in my local (Montreal). I suppose localized dynamic conversion takes place prior to display? 2. You're doing Ph.D. in math/physics, how is it possible to find time to manage this site? 3. I may visit Australia next summer. Would you allow me to visit your Office/Institution
-
Thanks but no thanks because I love the free GP-Install at http://www.qsc.co.uk Just kidding. The real reason is that I really want to control everything within my program
-
Very kind of you, Chris. I wonder, if you don't mind: 1. as the site is in Australia, how come the dates and times posted are in my local (Montreal). I suppose localized dynamic conversion takes place prior to display? 2. You're doing Ph.D. in math/physics, how is it possible to find time to manage this site? 3. I may visit Australia next summer. Would you allow me to visit your Office/Institution
-
I've searched and found no code on software update by Internet. Some gurus out there may be interested in writing a class CURLFileUpdate (MFC-MDI framework): (a) to read a list of {FileName, nVersion } from a given "Versions.ini" file. (b) to acess a file at a given URL to check for info (e.g. {FileName, nLatestVersion, bCritical} on files that are new or have later version, and to allow downloading these files and store them in a specified path. (c) to update the "Versions.ini" file (d) to allow the app to exit and then re-execute itself if any of the updated files is critical. Such a class would be very useful to a lot of programmers. I could cook up one for items (a,b,c), but I'll be stuck at (d) and the result will be pretty pathetic!!
We have this code. Currently this is small (110k) dll. This dll can download and update files from internet. Update information stored on server in XML format. Currently this dll have interface only for C++. Now we don't distribute or support this dll. But if you want you can test this technology. WinMp3Locator (www.winmp3locator.com) already use this tehnology. Sprry for my bad english. Vladimir Romanov (vromanov@reget.com) =======================update.h===================== #pragma once #ifndef NO_UPDATE_LOG #include "RgLog.h" #endif static const UINT wm_UpdatePresent=RegisterWindowMessage("AutoUpdatePresent"); static const UINT wm_UpdateFinished=RegisterWindowMessage("AutoUpdateFinished"); static const UINT wm_UnlockFile=RegisterWindowMessage("AutoUpdateUnlockFile"); // lParam - it is the handle for further passing to GetMessageInfo BOOL InitUpdateSystem ( LPCSTR szUpdateID, LPCSTR szUpdateURL, LPCSTR szRegKey = NULL); // szUpdateID -Id of update // szUpdateURL - URL of update // szRegKey - main registry key // it should be subkey of HKCU // by default using Software\\ReGet Software\\AutoUpdate // return FALSE if case of error void SetCookie(LPCSTR szCookie = NULL); // szCookie - it would be sent as referer BOOL UpdateFromFile ( LPCSTR szFileName ); // szFileName - File with information about update // return FALSE if case of error BOOL IsAnyUpdateAvailable ( BOOL bForce = TRUE ); // bForce - FALSE check only new update // TRUE check all updates BOOL DownloadUpdate(BOOL bCheckUpdate, BOOL bAskForPackages, HWND hWnd); // downloads update in separate process // if CheckUpdate is TRUE new information will be retreived from server // if AskForPackages is TRUE the message about packages would be shown BOOL GetMessageInfo(LPARAM lParam, LPSTR szBuffer, int nBufferLength); // it is used for getting information about UnlockFile Message void RunAfterExit(LPCSTR szName); // it is uset for post an application to queue for further run (after update) void SetupUpdateSystem(); // it cleans the registry only #ifndef NO_UPDATE_LOG extern CRgLog g_UpdateLog; #endif #ifndef AUTOUPDATE_EXPORTS # ifdef _DEBUG # pragma comment(lib,"T:\\AutoUpdate\\debug\\Update.lib") # else # pragma comment(lib,"T:\\AutoUpdate\\Release\\Update.lib") # endif #endif //AUTOUPDATE_EXPORTS ============ Update.xml file sample ===============