Need to locate licenced/shareware/freeware code/component for adding Autoupdate feature to an exe and and unmanaged dll

Posted on 2004-11-24
Last Modified: 2010-04-01
I have an application which is a pair of an unmanaged ActiveX dll and an exe that get installed on client/user machines.

I need to add an autoupdate functionality to my dll/exe combo, so that they can constantly ping the server and autoupdate themselves (like toolbars do), when a new update arrives on server.

Is there any existing freeware/shareware/licensed codebase or component which can enable this functionality in my application. It could be in form of a code which can be embedded in existing dll/exe or could be shipped as a third component with my application (adding new components is not a problem).

Please guide me to any source which can enable this functionality, without much time spent on coding.
Question by:swapnil001
    LVL 86

    Assisted Solution

    Check out ("Simple update check function") and ("S.I.V. : Simple program version checking")

    Author Comment

    just to reiterate:

    Check server at specified intervals, read version# from text file, if the version number is newer than the last downloaded/executed version #.. then download the new specified .exe and replace the previous one. similarly,download new dll, unregisters the existing dll, and registers the new dll. The functionality has to be silent (e.g. do not open a web page, simply post/get the data to our server without the user seeing it).

    jkr, thanks for your reply. on cursory glance, the "Simple Update Check" states a limitatin as"No automatic download is offered, the user has to download the files from your site and copy/install them". Also "S.I.V" does not work as a silent background thing. I'm not a C++ coder, but need to add this functionality to ActiveX, so would prefer to choose a third party component that can do the work for me. Any sugegstions?
    LVL 86

    Accepted Solution

    >>"No automatic download is offered, the user has to download the files from your site and copy/install them"

    That's not a big deal, you could do that by using

    URLDownloadToFile(NULL, "", "c:\\temp\\newfile.dll", 0, NULL);

    Then launch a little helper to do the copying, terminate your app and have the helper relaunch it.

    Author Comment

    Begin completely new to the world of CPP programming, could you give me some idea about how to go about the launching a helper?

    i did get some code snippets to help me out on registering/deregistering COM at

    If i understand correctly: , the current dll/exe will ping the server for update, download new dll/exe and launch a helper. the helper then deregister old dll, copy new one and register a new one. Right? Can you guide me to a source which helps me understand the launching of such helper programs from C++ code?

    Featured Post

    IT, Stop Being Called Into Every Meeting

    Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

    Join & Write a Comment

    In days of old, returning something by value from a function in C++ was necessarily avoided because it would, invariably, involve one or even two copies of the object being created and potentially costly calls to a copy-constructor and destructor. A…
    This article will show you some of the more useful Standard Template Library (STL) algorithms through the use of working examples.  You will learn about how these algorithms fit into the STL architecture, how they work with STL containers, and why t…
    The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
    The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

    755 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    24 Experts available now in Live!

    Get 1:1 Help Now