Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM General Discussion » View Thread |
Messages 1 to 10 of 17 total |
OT: Check for new updates feature |
Mon, Mar 9 2009 7:06 PM | Permanent Link |
Jon Lloyd Duerdoth | Can anyone share how the "Check for new update" feature is
implemented on many applications? JonD |
Mon, Mar 9 2009 9:09 PM | Permanent Link |
David | TMS Software, which I adore, has one
http://www.tmssoftware.com/site/wupdate.asp but I don't use it. I'll eventually migrate to it. Currently, I use appcontrols http://www.appcontrols.com/manuals/appcontrols/index.html?tacautoupgrader.ht m On 3/9/09 7:06 PM, in article ABA296FD-9167-42BF-96F9-FFFABFC2F4AB@news.elevatesoft.com, "Jon Lloyd Duerdoth" <jld@welshdragoncomputing.ca> wrote: > Can anyone share how the "Check for new update" feature is > implemented on many applications? > > JonD |
Mon, Mar 9 2009 9:53 PM | Permanent Link |
Tony Bryer | In article <ABA296FD-9167-42BF-96F9-FFFABFC2F4AB@news.elevatesoft.com>,
Jon Lloyd Duerdoth wrote: > Can anyone share how the "Check for new update" feature is > implemented on many applications? The way we do it is that to use either of our apps the user has to enter their name and activation key. The key is coded with the expiry date of the user's cover (like Tim we offer annual subscriptions after the first year). When the user checks for updates, an encrypted control file is retrieved from our website. This contains a list of downloadable versions held on our website with their corresponding eligibility dates, and the most recent version (as determined by the key) is offered to the user for them to download. Users whose cover has expired can always download the version most recent at the time their cover expired: they don't see more recent versions. -- Tony Bryer, Greentram Software Pty Ltd, Melbourne, Australia 'Software to build on' http://www.greentram.com |
Mon, Mar 9 2009 10:26 PM | Permanent Link |
"Jeff Cook" | David wrote:
> > Currently, I use appcontrols > http://www.appcontrols.com/manuals/appcontrols/index.html?tacautoupgra > der.ht m > > Grrrrrrrrrrrrr! Good luck getting any support for appcontrols! I bought this:- The CaptionButton component (software) is Copyright (C) 1998-2006, by Utilmind Solutions(R) (Utilmind). All rights reserved. The authors - Utilmind Solutions(R) and Aleksey Kuznetsov (founder of UtilMind), exclusively own all copyrights to the Advanced Application Controls (AppControls) and all other products distributed by Utilmind Solutions(R). .... had problems with it and tried their support plenty of times and never even got a response - they were quick enough to take the money off my credit card though -- Jeff Cook Aspect Systems Ltd www.aspect.co.nz + Joan and Jeff Cook The Cooks Oasis www.cookislandsoasis.com |
Mon, Mar 9 2009 11:38 PM | Permanent Link |
David | That weird.
The support I've gotten from them has been phenomenal. As a matter of fact, they even wrote a component, the dcFileTail, for me. I started using their controls with their FileStorage component, which I still use everywhere. I ended up purchasing both their appcontrols and diskcontrols sets. Of course, I haven't requested support since 2001 and it looks like they last updated their software in April of 2007. When did you purchase the CaptionButton component? If you don't mind me asking. On 3/9/09 10:26 PM, in article 31CC0558-CF23-475D-9D1A-1C9601516E79@news.elevatesoft.com, "Jeff Cook" <jeffc@aspect.co.nz> wrote: > David wrote: > >> >> Currently, I use appcontrols >> http://www.appcontrols.com/manuals/appcontrols/index.html?tacautoupgra >> der.ht m >> >> > Grrrrrrrrrrrrr! > > Good luck getting any support for appcontrols! > > I bought this:- > > The CaptionButton component (software) is Copyright (C) 1998-2006, by > Utilmind Solutions(R) (Utilmind). All rights reserved. > The authors - Utilmind Solutions(R) and Aleksey Kuznetsov (founder of > UtilMind), exclusively own all copyrights to the Advanced Application > Controls (AppControls) and all other products distributed by Utilmind > Solutions(R). > > ... had problems with it and tried their support plenty of times and > > never even got a response - they were quick enough to take the money > off my credit card though |
Tue, Mar 10 2009 3:04 AM | Permanent Link |
"Jeff Cook" | Kia Orana David
> > The CaptionButton component (software) is Copyright (C) 1998-2006, > > by Utilmind Solutions(R) (Utilmind). All rights reserved. > > The authors - Utilmind Solutions(R) and Aleksey Kuznetsov (founder > > of UtilMind), exclusively own all copyrights to the Advanced > > Application Controls (AppControls) and all other products > > distributed by Utilmind Solutions(R). I got it through the website http://www.utilmind.com/ who seem to claim ownership of appcontrols. Kia Manuia Jeff -- Jeff Cook Aspect Systems Ltd www.aspect.co.nz + Joan and Jeff Cook The Cooks Oasis www.cookislandsoasis.com |
Tue, Mar 10 2009 3:34 AM | Permanent Link |
"Malcolm" | Jon
I rolled my own. My main apps already have HTTP clients so it was almost 'free'. I have a button on my About box which launches a read of a version file on my webserver. The version file is a 4-line, text file: Version number Version string Release date Description One app also accesses my site for data downloads under user control and during that process it checks the version number. If there is a new release of which the user has not previously been advised, it displays the version file lines 2..4 plus a note about how to obtain the update. Malcolm |
Tue, Mar 10 2009 3:35 AM | Permanent Link |
Chris Holland SEC Solutions Ltd. Team Elevate | Hi Jon,
We actually run a DBISAM server here that runs our in house customer database and also contains a table called "ProgramUpdates". When I release a new version I add it to the ProgramUpdates file storing the .exe and ProgramChanges.doc in blob fields along with the version number and the minimum version number that is needed to upgrade straight to this version. When my program starts it connects to the server (on a seperate thread) using a customer number and password that is entered into our customer database) and tests to see if a newer version is available and if their support is active. If there is a newer version it asks if they want to download it, and if they do it updates their current version number on the customer database. This keeps my database up to date automatically. My .exe is 2.5MB on its own, and 10MB with all of the Dll's. By having a minimum version that they can upgrade from I do not need to release the DLL's every time but only when they change. Chris Holland Jon Lloyd Duerdoth wrote: > Can anyone share how the "Check for new update" feature is > implemented on many applications? > > JonD |
Tue, Mar 10 2009 4:54 AM | Permanent Link |
Uli Becker | Jon,
> Can anyone share how the "Check for new update" feature is > implemented on many applications? I do it like this: 1. With every release I create an ini-file which contains the new version-number and the download-path of the packed exe-file. 2. I upload this ini-file to a common folder "webupdates" on my homepage. 3. I upload the packed exe-file to a folder ..../downloads/appname/appname.cab on my homepage. 4. In each of my applications there is a form called WebupdateForm that contains the name of the ini-file and the local path where the update-file shall be copied to. The Form is create once, then inherited; just these 2 paramaters are changed. 5. When the user clicks on "Update" the ini-file is downloaded to the local update-path. Current version of the application and the version stored in the ini-file are compared. 6. If the version is newer, my applications downloads the cab-file to the local update-folder. 7. After that the user is asked to restart the application. 8. When starting the application I am using a custom made component that simply compares the app's version with the version in the ini-file of the local Update-Path. 9. If this version is newer the component extracts the cab-file and copies it to the application-folder, renaming it to MyApp.com. 10 In this case MyApp.com is started and MyApp.exe is terminated. 11. Now, after the application has been started another self-made component copies MyApp.com to MyApp.exe. Done. The big advantage is that applications are able to update themselves within a LAN when you put the local UpdatePath to a folder of your server that every application can see. Thus you only need to update the application on one workstation. The other workstations update themselves when restarting. Maybe that sounds a bit complicated but once you have coded the 2 components and written a small application that creates the ini-files and uploads all files to the right placed it works great. Just a few mouse-clicks to release an update. Actually I wrote a "versioncontrol"-application that controls all my applications, setups, history-lists and so on. From this application I am "sending" everything with one mouse-click. Hope that helps. Uli |
Tue, Mar 10 2009 7:40 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Jon,
<< Can anyone share how the "Check for new update" feature is implemented on many applications? >> Well, in ElevateDB you can use the stores functionality and a script to do it (not tested, so double-check): SCRIPT (IN LastUpdate TIMESTAMP) BEGIN DECLARE ConfigCursor CURSOR FOR ConfigStmt; DECLARE UpdateCursor CURSOR FOR UpdateStmt; DECLARE UpdateFile VARCHAR DEFAULT ''; -- Create necessary stores, if not present USE Configuration; PREPARE ConfigStmt FROM 'SELECT * FROM Stores WHERE Name = ?'; OPEN ConfigCursor USING 'AppUpdatesRemote'; IF ROWCOUNT(ConfigCursor) = 0 THEN SET STATUS MESSAGE TO 'Creating AppUpdatesRemote store'; EXECUTE IMMEDIATE 'CREATE STORE "AppUpdatesRemote" AS REMOTE ADDRESS ''127.0.0.1'' PORT 12010 USER "Administrator" PASSWORD ''EDBDefault'' STORE "AppUpdates"'; END IF; CLOSE ConfigCursor; OPEN ConfigCursor USING 'AppUpdatesLocal'; IF ROWCOUNT(ConfigCursor) = 0 THEN SET STATUS MESSAGE TO 'Creating AppUpdatesLocal store'; EXECUTE IMMEDIATE 'CREATE STORE "AppUpdatesLocal" AS LOCAL PATH ''c:\myapp\updates'''; END IF; CLOSE ConfigCursor; -- Get a list of all the executables in the AppUpdates store and copy -- them to the local AppUpdates store SET STATUS MESSAGE TO 'Checking server for updates'; EXECUTE IMMEDIATE 'SET FILES STORE TO "AppUpdatesRemote"'; PREPARE UpdateStmt FROM 'SELECT * FROM Files WHERE CreatedOn > :LastUpdate ORDER BY CreatedOn DESC RANGE 1 TO 1'; OPEN UpdateCursor USING LastUpdate; IF ROWCOUNT(UpdateCursor) > 0 THEN FETCH FIRST FROM UpdateCursor (Name) INTO UpdateFile; -- Copy new update to the local store SET STATUS MESSAGE TO 'Downloading ' + UpdateFile; BEGIN EXECUTE IMMEDIATE 'COPY FILE "' + UpdateFile + '" IN STORE "AppUpdatesRemote" TO "' + UpdateFile + '" IN STORE "AppUpdatesLocal"'; EXCEPTION SET STATUS MESSAGE TO 'Error downloading ' + UpdateFile + '(' + ERRORMSG() + ')'; LEAVE; END; ELSE SET STATUS MESSAGE TO 'No new updates found'; END IF; END -- Tim Young Elevate Software www.elevatesoft.com |
Page 1 of 2 | Next Page » | |
Jump to Page: 1 2 |
This web page was last updated on Thursday, March 28, 2024 at 06:05 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |