Goal
Per the v2 refactoring plan, eliminate \GeneralClientBootstrap\ by merging all client-side functionality into \GeneralUpdateBootstrap. Use \AppType\ to dispatch between Client and Upgrade workflows.
Key Differences to Merge
GeneralClientBootstrap has these features not present in GeneralUpdateBootstrap:
- Bowl process management — \CallSmallBowlHome()\ kills old Bowl processes
- Custom options — \AddCustomOption()\ for pre-update custom operations
- Richer skip callback — \AddListenerUpdatePrecheck()\ receives UpdateInfoEventArgs
- Silent mode — delegates to SilentUpdateMode when enabled
- Dual version validation — validates both client and upgrade versions
- Failure check — \CheckFail()\ prevents re-updating to known-failed versions
- ProcessInfo IPC creation — serializes update context for the upgrade process
- StartApp — launches the main application after update
Tasks
- Add client-side features to \GeneralUpdateBootstrap, gated by AppType=Client
- Mark \GeneralClientBootstrap\ as [Obsolete]
- Update any internal references
- Verify full solution compiles
Part of GeneralUpdate v2 refactoring plan.
Goal
Per the v2 refactoring plan, eliminate \GeneralClientBootstrap\ by merging all client-side functionality into \GeneralUpdateBootstrap. Use \AppType\ to dispatch between Client and Upgrade workflows.
Key Differences to Merge
GeneralClientBootstrap has these features not present in GeneralUpdateBootstrap:
Tasks
Part of GeneralUpdate v2 refactoring plan.