GUI_APP_MAIN { Updater updater; updater .SetMaxVersion(GetMaxVersion()) .SetWebRoot("www.timberstruct.com/webupdater/updatertest") .UpdateManual(); if(!updater.Run()) return; ----------FOLLOWING APPLICATION CODE FROM HERE ------------ }
[WebRoot]/[AppName]/LINUX32/versions [WebRoot]/[AppName]/LINUX32/[version1]/[AppName] [WebRoot]/[AppName]/LINUX32/[version2]/[AppName] ..... [WebRoot]/[AppName]/LINUX32/[versionN]/[AppName] [WebRoot]/[AppName]/LINUX64/versions [WebRoot]/[AppName]/LINUX64/[version1]/[AppName] [WebRoot]/[AppName]/LINUX64/[version2]/[AppName] ..... [WebRoot]/[AppName]/LINUX64/[versionN]/[AppName] [WebRoot]/[AppName]/WINDOWS32/versions [WebRoot]/[AppName]/WINDOWS32/[version1]/[AppName] [WebRoot]/[AppName]/WINDOWS32/[version2]/[AppName] ....... [WebRoot]/[AppName]/WINDOWS32/[versionN]/[AppName] [WebRoot]/[AppName]/WINDOWS64/versions [WebRoot]/[AppName]/WINDOWS64/[version1]/[AppName] [WebRoot]/[AppName]/WINDOWS64/[version2]/[AppName] ....... [WebRoot]/[AppName]/WINDOWS64/[versionN]/[AppName]
updater.SetMaxVersion(1.6)
GUI_APP_MAIN { Updater updater; updater // accept 1.6 as maximum downloadable version .SetMaxVersion(1.6) // setup web root for program downloads .SetWebRoot("www.timberstruct.com/webupdater/updatertest") // ask for updates on launch .UpdateManual() // program menu goes in "Office" cathegory // (Linux only by now, no harm on windows) .SetCathegory("Office") // helper comment for application // (shows in associated files properties) .SetComment("A sample test program") // associates .xxx and .yyy extensions to this application // and sets application icons for this files .SetExtensions(Vector<String>() << "*.xxx" << "*.yyy") // setup the icon for application // (here Updater default icon) .SetIcon(updater.DefaultIcon()) // we want a desktop icon too .DesktopIcon(); // run updater -- DON'T change this ! if(!updater.Run()) return; // run the default prompts -- see Updater source code // if you need some fine-grained control if(!updater.DefaultPrompts()) return; // here the rest of your application...... PromptOK("App version is 1.0"); }
// accept 1.6 as maximum downloadable version updater.SetMaxVersion("1.6.1234");
updater.SetMaxVersion(1.6);
/MMM.mm.ddd/
..../1.0/ ..../1.5/ ..../1.67/ ..../1.5.432/
Quote: |
- It seems that Updater is also an installer package as it: -- Download the files -- Install the program -- Creates Program Files folder and Application Data folder |
Quote: |
Would it be possible to choose the Program Files folder location and name, and the Application Data folder name? |
Quote: |
- Could it work from LAN folders too? (this is a must for me now) |
Quote: |
- The uninstaller is run from a program with a name from GetTempFileName() that appears in window caption. Could you use just the program name or with something like " - Uninstaller" added? |
Quote: |
- In my case the uninstaller do not remove the Application Data folder. May this be switched on or off? (to ask the user if s/he wants to delete data folder) |
Quote: |
These are just the first set of questions . Thank you. Updater seems VERY complete. |
Quote: |
I guess you can, just add Bazaar nest to your working assembly. |
Quote: |
Yep, it is. you can (as I did...) deploy a small programm that contains just updater and setup to fetch your real app. When user launches it first time, he gets the true application downloaded and installed, in its latest version, so you can leave the installer forever on your web site without worrying updating it. |
Quote: |
It would need some changes.... you can do it, but it should maintain the actual defaults to not break the apps using it now. |
Quote: |
You could add a "SetProgramFilesFolder()" and "SetAppDataFolder()" member functions that could change the paths from the default. |
Quote: |
Uhmmmm.... never tried. You can try to install the Server app onto a PC in your lan and see.... it's a quick test. |
Quote: |
The most important missing thing is the ability to update other files than the executable itself |
GetSystemInfo(manufacturer, productName, version, numberOfProcessors, mbSerial); GetBiosInfo(biosVersion, biosReleaseDate, biosSerial); Array <NetAdapter> netAdapter = GetAdapterInfo(); // Includes MAC addresses for all adapters (WAN, LAN, WLAN, ...) GetHDSerial(); GetUserName();