Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Feb 1, 2026

Changes proposed in this pull request

  • Adds PolicyManager and PolicyInfo classes to load system-wide policies from config.json in the application directory
  • System-wide policies override user settings when present
  • Implements Update_DisableUpdateCheck option to disable update checks for all users on a machine
  • Integrates into existing SettingsManager.Load() flow
  • Includes documentation and example configuration file
  • Named PolicyManager/PolicyInfo to avoid naming conflicts with existing ConfigurationManager class

Related issue(s)

Related to enterprise deployment requirements for centralized update control.

Copilot generated summary

Copilot summary

Implements a system-wide policy mechanism similar to Firefox's logprefs pattern. When config.json exists in the application directory with "Update_DisableUpdateCheck": true, all users on that machine will have update checks disabled regardless of their personal settings.

Architecture:

  • PolicyManager.Load() runs before user settings load
  • SettingsManager.ShouldCheckForUpdatesAtStartup property checks system-wide policies first, then falls back to user preference
  • Graceful degradation if config file is missing or malformed
  • Classes named PolicyManager/PolicyInfo to avoid confusion with existing ConfigurationManager

Usage:
Place config.json in application installation directory:

{
  "Update_DisableUpdateCheck": true
}

Files Modified:

  • New: PolicyInfo.cs, PolicyManager.cs - Policy model and loader
  • Modified: SettingsManager.cs - Integrated policy loading, added precedence logic
  • Modified: MainWindow.xaml.cs - Updated to respect system-wide policies
  • New: Documentation and example configuration file

To-Do

Contributing

By submitting this pull request, I confirm the following:

Original prompt

This section details on the original issue you should resolve

<issue_title>Disable Update check for all users</issue_title>
<issue_description>Hi Team,

We are in testing process to deploy NETworkManager on multiple machines and need to disable auto update without user intervention.
Test environment is windows 11 virtual machines.

There is option to disable update during startup when we launch the application but that is user specific. Is there any way to disable autoupdate for all users like HKLM registry key,any file at program files or MSI parameter like AUTOUPDATE=0 which we can change, and this setting will be applicable for everyone who can login to that machine.</issue_description>

<agent_instructions>I want to implement something similar to the logpref feature from firefox. I config.json file in the app folder, that will disable the update check. It should be similar to the SettingsManager/SettingsInfo i already have implemented. The file should be loaded when loading the settingsmanager.</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@BornToBeRoot Hi, is this currently not supported. There is currently no implementation to control settings via Registry, File, etc.

There is a feature request that my need a similar implementation via registry. #3208 #2787

For now this is just an update check and not an auto update. If you click on the update button... you will be redirected to the download page.</comment_new>


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 3 commits February 1, 2026 20:35
Co-authored-by: BornToBeRoot <16019165+BornToBeRoot@users.noreply.github.com>
Co-authored-by: BornToBeRoot <16019165+BornToBeRoot@users.noreply.github.com>
Co-authored-by: BornToBeRoot <16019165+BornToBeRoot@users.noreply.github.com>
Copilot AI changed the title [WIP] Disable update check for all users in application Add system-wide configuration to disable update checks Feb 1, 2026
Copilot AI requested a review from BornToBeRoot February 1, 2026 20:40
@BornToBeRoot
Copy link
Owner

@copilot could the naming conflict with the existing ConfigurationManager?

Co-authored-by: BornToBeRoot <16019165+BornToBeRoot@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 1, 2026

@copilot could the naming conflict with the existing ConfigurationManager?

Good catch! I've renamed ConfigManager to PolicyManager and ConfigInfo to PolicyInfo to avoid confusion with the existing ConfigurationManager. The new names better reflect that these are system-wide policies that override user settings. Fixed in commit 36e595c.

Copilot AI changed the title Add system-wide configuration to disable update checks Add system-wide policies to disable update checks Feb 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Disable Update check for all users

2 participants