Thread: Our UI Manager
View Single Post
03-22-09, 08:44 PM   #46
tonsusbron
A Murloc Raider
Join Date: Nov 2008
Posts: 6
Question

Originally Posted by Shirik View Post
It would be next to impossible to meaningfully treat it as another addon. The biggest problem with having it update itself is the fact that you cannot replace files that are currently in use (namely, the executable file). As a result, there is a "Module Center" where all updates of the core and modules are handled.

When an update is available, two things can happen. If it's a required update (this will only be done in the event that everything will break if you don't install it), then the module center will pop up on startup and require you to install the update to continue (you can cancel, but the program will shut down). If the update is not required, you will just see a red message, out of the way in a corner, indicating that there is an update available and to go to the module center to apply the update.

The modules are updated while the program is running. This goes into OSGi details that are probably too technical for this forum, but suffice to say the module is shut down, replaced, and restarted. The program does not have to restart.

When the core needs an update, the program first downloads an update "bootstrap." It then executes this program in another process and shuts down. The bootstrap program then downloads the full update (specifically, the files to replace), waits to ensure that the program has shut down, and then replaces the files. Finally, it restarts the application. This is similar to how WoW is updated.
I was thinking like you were but using dll files to update the program. You would see there was an update it would close the main program and open an update which would download the dll file which holds the interface for the program and maybe any other files and overwrite the old. Then restart the program and close the updater.

My teacher was trying to get us to use dll files to enclose all files for our programs so that it would be harder to mess up with multiple coders as all files are together needed for that app part .

Either way you do it I'm sure wowINTERFACE will come out fine.