Skip to content

Conversation

@DavidBoike
Copy link
Member

@DavidBoike DavidBoike commented Nov 3, 2023

ServiceControl 5.0 and above will not have a Windows Installer, which means that a user can have multiple versions of Service Control Management that can be used back and forth without having to uninstall/reinstall a different version.

That introduces a bug in ServiceControl 4.x because, by definition, ServiceControl 4 versions will not be able to understand the different transports and persistence options that are introduced in the future.

This bugfix shows some "Unknown" text when an instance's transport or persistence is not known to the current ServiceControl version. This will be shipped as part of ServiceControl 4.33.0, which is intended to be the last minor version of the 4.x timeline, and will be the last to be installed through a Windows Installer.

So if you have a hybrid system and need to be able to install ServiceControl 5.x instances while still managing a few ServiceControl 4.x instances, update Service Control Management to 4.33 so you can open it and view the 5.x instances without crashing.

Symptoms

After installing a ServiceControl 5.0 instance, ServiceControl Management 4.x fails on startup with the error:

System.InvalidOperationException: Sequence contains no matching element
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source, Func`2 predicate)
   at ServiceControlInstaller.Engine.Instances.ServiceControlAuditInstance.Reload() in 
   ...

Who's affected

Any user of ServiceControl 4 will be affected after using a new version of Service Control Management to install any ServiceControl version 5 instance.

Root cause

In ServiceControl 4.x (all versions) and earlier, ServiceControl Management was installed with Windows Installer and only one version existed at a time. In ServiceControl 5 there can be multiple versions of ServiceControl Management that will not have any knowledge of future versions of ServiceControl that may already be installed.

@DavidBoike DavidBoike self-assigned this Nov 3, 2023
@ramonsmits ramonsmits added this to the 4.32.4 milestone Nov 6, 2023
@DavidBoike DavidBoike modified the milestones: 4.32.4, 4.33.0 Nov 9, 2023
@DavidBoike DavidBoike force-pushed the safe-transport-handling branch from 2cd5efd to 7f0fc1c Compare November 9, 2023 17:46
@DavidBoike DavidBoike added the Bug label Nov 9, 2023
@DavidBoike DavidBoike changed the base branch from release-4.32 to release-4.33 November 10, 2023 21:21
@DavidBoike DavidBoike marked this pull request as ready for review November 10, 2023 21:33
@DavidBoike DavidBoike enabled auto-merge (squash) November 10, 2023 21:33
@DavidBoike DavidBoike merged commit d655832 into release-4.33 Nov 10, 2023
@DavidBoike DavidBoike deleted the safe-transport-handling branch November 10, 2023 22:02
@DavidBoike DavidBoike changed the title Handle future transport/persistence settings without crashing ServiceControl Management 4.x crashes when 5.x or newer instances are already installed Nov 20, 2023
@ramonsmits ramonsmits changed the title ServiceControl Management 4.x crashes when 5.x or newer instances are already installed ServiceControl Management 4.x crashes when 5.x or newer instances are already installed with System.InvalidOperationException: Sequence contains no matching element Jun 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants