pratyakshm / WinRice

Set up your brand new Windows device up to a breathtaking 60 times faster.
GNU General Public License v3.0
330 stars 28 forks source link

Insider detection needs to be improved #47

Closed pratyakshm closed 2 years ago

pratyakshm commented 2 years ago

WinRice principles

Explain the feature.

Suggestion

WinRice currently decides if the current OS build is an Insider build by checking hardcoded rs_prerelease and ni_release branch names. While these branch names apply to the latest and recent Windows Insider builds in the Dev channel, they do not serve all Windows Insiders from different channels (Beta and Release Preview).

This leads to a scenario where WinRice think that the device is running a retail build of Windows when the device is actually on Beta / RP, and apply settings and policies that I deem are not favorable to Windows Insiders - these settings include hardening Telemetry, disabling feedback notifications and deferring Windows Updates.

Does your feature request involve usage of third party software?

No

pratyakshm commented 2 years ago

There's to ways to approach this:

  1. Hardcode the most recent release branch names - this will need manual yearly updates where I will add the latest Release build branch names. This is effective but not efficient and it will overall make up for a dirtier code down the line.

  2. A more robust and long-lasting (as long as Microsoft does not change it) method of detecting Insider builds by using registry (located at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\Applicability).

I am more inclined towards the second method and am internally testing a few methods to get it properly working. Further changes will be pushed with robust testing.