@jdunn0
@ibuprophen1
coddec#19
Classic Shell currently consists of a few separate components that are developed and released with one installer that can install one or all of them.
The different components however do different things and I think it would be better for development to make each component, a new software project with it's own name, installer, GitHub issues section and separate releases.
I don't really see any reason to keep all the components under one GitHub repository when they do different things.
One component is a Start Menu, one adds a toolbar to File Explorer (The Windows 8+ name for the Windows Explorer File Browser) and one restores the IE6 look to IE7+,
Each component having their own name would also help with the things talked about in issue #13 as each component could have their own, more accurate name instead of just being a component of Classic Shell.
It also benefit the users that only use one component of Classic Shell as it could be installed on it's own.
The "Classic Shell Update" tool wouldn't really work anymore but it could be replaced by a new software project that handles automatic installation of new versions of each the different programs.
The replacement software could be a build of Google's Omaha project which can handle the automatic checking for updates and update installation for multiple software projects.
Omaha is the project behind Google Updater that handles automatic update checks and automatic update installation of all Google software.
Omaha is a little bit complex but when setup, it can work quite well.
Here is how Omaha works:
- Each program has their individual installers that automatically install Omaha when they are installed if it isn't already installed by another program.
- The installer registers the program with Omaha via registry entry.
- Omaha runs in the background at various times via the Task Scheduler function of Windows to check for new updates.
- If an update is available then the programs new version installer is downloaded and installed slightly in the background when the program is not running.
- Omaha will be uninstalled when the last program to register with it is uninstalled.
The fork could be called "[New Organization] Updater" where "[New Organization]" is the name of the new organization in GitHub as discussed in issue #13.
All the newly split out components could be repositories under this GitHub Organization too.