Skip to content

SSUP Process Flow

Carson Shook edited this page Apr 18, 2018 · 4 revisions

When StupidSimpleUpdater is launched, the following process takes place:

  1. SSUP will attempt to read SSUPConfig.xml.

  2. The contents of the <Name> node are used to read C:\ProgramData\StupidSimpleUpdater\[YourProgramName]\CheckInfo.xml if it exists.

    A. If CheckInfo does exist, then SSUP uses the contents of <LastCheckDate> to determine whether or not enough time has elapsed since the last check (based on the value of <CheckFrequency> in the config), and if not, then the updater will exit.

    B. If CheckInfo does not exist, then SSUP will always check if an update is available.

  3. The Update Manifest is downloaded, and the Update Bundle matching the value of <BuildType> is selected.

  4. If an updated version of your application is available and its <CurrentVersion> value in the Update Bundle is greater than the value in <LatestVersion> in the CheckInfo, or the version numbers are equal and <SkipThisVersion> is not equal to True, then the latest version number and check date are written to disk, the patch notes are downloaded, and a user prompt will appear informing users that an update is available.

  5. From here, the user can perform one of the following actions:

    A. Update.

    B. Postpone without checking "Skip this version".

    C. Check "Skip this version" and Postpone.

    D. Close the updater.

    B and D are functionally the same. C will skip the current version for as long as it is available. All three exit the updater.

  6. If the user chooses to update, then the application will attempt to download the MSI referenced in the Update Bundle's <DownloadUrl>.

  7. If the MSI is downloaded successfully, then it will be launched and SSUP will close, allowing the MSI to be installed by Windows.

Clone this wiki locally