TickZoom/AutoUpdate
Auto Update Requirements and Design
Requirements for Auto-Update
- Auto-update must be simple and painless for customers who elect to enable auto-update.
- It must have a manual way for users to download and install who disable auto-update.
- It must require a unique key for download of the new engine for copy protection.
- The server must count the downloads of each version and restrict to 1.
- It must auto-update in the following situations:
Regular check for a new patch or bug fix version. (users can decide whether to update or not.)
Deadline is nearing expiration, server confirms payment.
Deadline has passed expiration, server confirms payment.
User downloads a new upgrade version of the software.
- TickZoom must allow downgrading as well as upgrading in case some issue in the newer version.
Design for Auto-Update
Dynamic Engine Loading
- Finished The TickZoomAPI Engine factory dynamically loads the engine when the platform starts up.
- Finished The engine factory finds all the DLLs in the current directory and asks for their name and version. Finished
- Finished The name and version comes from inside the DLL and not from the file name of the dll. Finished
- Finished The engine eliminates all but the latest version from the list. Finished
- Finished If there are more than one engine models remaining with the latest version: Finished
- It will favor Gold first.
- Then Silver
- The Pro.
- Then FREE.
- NEW If the load fails for any reason, the engine factory must report the error and try loading another
engine based on the priority above.
Auto Update
- High MySQL database on the server has a row for each user with there unique software key.
- High The DB also has a table with rows for each user and version they downloaded already.
- High In app.config user can enable/disable the check for update feature. Default will be enabled.
- High Enable/disable of auto update must be an option in the GUI that changes the app.config setting.
- High At every startup check for update feature will send to the server the unique user key and current version.
- High The server responds with a version status. Out-of-date status means download available.
- Up-to-date
- Out-of-date
- Bad Key
- Payment arrears.
- High Server must offer download the best model of engine the user paid for. That means Gold, Silver, or Pro.
Auto Extend
- Low In app.config user can enable/disable the auto extend deadline feature. Default will be enabled.
- Low This feature will only exist in the paid versions of the Engine. FREE version only offers auto update.
- Finished When deadline is within 10 days, the log file will begin to warn that engine will expire in X days.
- Low When nearing expiration, the engine will also log the status of the auto-extend feature. Enabled or Disabled.
- Low If disabled, it will explain how to enable the feature.
- Low Enable/disable of auto extend must be an option in the GUI that changes the app.config setting.
- Low After the deadline has passed, the engine will have a 5 day grace period during which it will attempt to auto extend if enabled in the app.config setting.
- Finished After the grace period has expired, the engine will continue to attempt to auto extend but otherwise cease functioning.
- Low The auto extend feature must continue to work forever in all versions of the engine.
Billing Design
- Paypal checkout must update the site with the confirmation of payment.
Download in other formats: