Skip to content

Allow user to update page list. #49

@DrewNaylor

Description

@DrewNaylor

This would mean that the page list would be read from a text file that could be updated by the user at any time. The way to check for updates would use a simple XML file in this repository with the following fields:

<HideSettingsPages_Page_List_Updater>
<lastUpdated>(last updated date in UTC)</lastUpdated>
<currentVersion>(current page list version, used to tell the user if there's an update; something like:) 1.0.0.1</currentVersion>
<updateUrl>(url of the text document; something like:) https://github.com/DrewNaylor/HideSettingsPages/blob/master/HideSettingsPages/page-list-updates/current-page-list.txt</updateUrl>
<sha256Hash>(SHA256 checksum of text file to ensure there's no tampering by comparing this text to the SHA256 checksum of the page list text document)</sha256Hash>
</HideSettingsPages_Page_List_Updater>

This updater xml document would be saved onto the user's computer so that the updater code can compare the version number in the file on the user's computer and the one in the repository the next time there's an update. If the version number in the repository's copy of the update xml document is newer than the version in the update document on the user's computer, the user will be told there's an update, the new update version, their current version, the date (in UTC) the newest version says it was updated on, and be asked if they want to download the newest copy. However, if the SHA256 checksums don't match between the copy in the repository and the field in the update xml document in the repository, the user will be made aware of this and the update will not complete unless the user wants to ignore the checksum mismatch.

In a configuration dialog, the user should be allowed to choose whether or not they want to ignore the checksum mismatch and use a preinstalled copy of the page list (in My.Resources) instead of one in a text document.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions