From c4bcb09bc3b34ec1438993a1be74962df90d4546 Mon Sep 17 00:00:00 2001 From: Nate Pink Date: Thu, 23 Jul 2026 19:41:35 +0000 Subject: [PATCH 1/3] Installer incorrectly modifies "external ravendb" audit instance causing them to no longer start --- .../ServiceControl/ServiceControlAuditAppConfig.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ServiceControlInstaller.Engine/Configuration/ServiceControl/ServiceControlAuditAppConfig.cs b/src/ServiceControlInstaller.Engine/Configuration/ServiceControl/ServiceControlAuditAppConfig.cs index 81386283eb..84851db9a0 100644 --- a/src/ServiceControlInstaller.Engine/Configuration/ServiceControl/ServiceControlAuditAppConfig.cs +++ b/src/ServiceControlInstaller.Engine/Configuration/ServiceControl/ServiceControlAuditAppConfig.cs @@ -36,8 +36,18 @@ protected override void UpdateSettings() // Windows via SCMU or PowerShell settings.Set(AuditInstanceSettingsList.ShutdownTimeout, "00:02:00", version); + //ServiceControl.Audit.Persistence.RavenDB.RavenPersistenceConfiguration.ConnectionStringKey + var hasOnlyRemoteRavenDbConnection = settings.AllKeys.Contains("RavenDB/ConnectionString") + && !settings.AllKeys.Contains(AuditInstanceSettingsList.DBPath.Name); + foreach (var manifestSetting in instance.PersistenceManifest.Settings) { + if (manifestSetting.Name == AuditInstanceSettingsList.DBPath.Name + && hasOnlyRemoteRavenDbConnection) + { + continue; + } + if (!settings.AllKeys.Contains(manifestSetting.Name)) { var value = manifestSetting.DefaultValue; From 0bf284037ecfbd8c39412d160e6092cdc5d984c6 Mon Sep 17 00:00:00 2001 From: Nate Pink Date: Fri, 24 Jul 2026 14:52:36 +0000 Subject: [PATCH 2/3] Also in ServiceControlAppConfig --- .../ServiceControl/ServiceControlAppConfig.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/ServiceControlInstaller.Engine/Configuration/ServiceControl/ServiceControlAppConfig.cs b/src/ServiceControlInstaller.Engine/Configuration/ServiceControl/ServiceControlAppConfig.cs index 3f2ef78627..d0207ce213 100644 --- a/src/ServiceControlInstaller.Engine/Configuration/ServiceControl/ServiceControlAppConfig.cs +++ b/src/ServiceControlInstaller.Engine/Configuration/ServiceControl/ServiceControlAppConfig.cs @@ -4,6 +4,7 @@ using System.Configuration; using System.Data.Common; using System.IO; + using System.Linq; using Instances; using NuGet.Versioning; @@ -21,6 +22,10 @@ protected override void UpdateSettings() var settings = Config.AppSettings.Settings; var version = details.Version; + + //ServiceControl.Audit.Persistence.RavenDB.RavenPersistenceConfiguration.ConnectionStringKey + var hasOnlyRemoteRavenDbConnection = settings.AllKeys.Contains("RavenDB/ConnectionString") + && !settings.AllKeys.Contains(AuditInstanceSettingsList.DBPath.Name); settings.Set(ServiceControlSettings.InstanceName, details.InstanceName, version); settings.Set(ServiceControlSettings.VirtualDirectory, details.VirtualDirectory); @@ -28,7 +33,10 @@ protected override void UpdateSettings() settings.Set(ServiceControlSettings.DatabaseMaintenancePort, details.DatabaseMaintenancePort.ToString(), version); settings.Set(ServiceControlSettings.HostName, details.HostName); settings.Set(ServiceControlSettings.LogPath, details.LogPath); - settings.Set(ServiceControlSettings.DBPath, details.DBPath); + if (hasOnlyRemoteRavenDbConnection) + { + settings.Set(ServiceControlSettings.DBPath, details.DBPath); + } settings.Set(ServiceControlSettings.ForwardErrorMessages, details.ForwardErrorMessages.ToString(), version); settings.Set(ServiceControlSettings.TransportType, details.TransportPackage.Name, version); settings.Set(ServiceControlSettings.PersistenceType, details.PersistenceManifest.Name); // TODO: Why is it set here AND at ServiceControlInstance.ApplySettingsChanges 🤬 From 89dcaf4707a92946bf151b2fe571c98c663afbba Mon Sep 17 00:00:00 2001 From: Nate Pink Date: Fri, 24 Jul 2026 14:52:36 +0000 Subject: [PATCH 3/3] Also in ServiceControlAppConfig --- .../ServiceControl/ServiceControlAppConfig.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ServiceControlInstaller.Engine/Configuration/ServiceControl/ServiceControlAppConfig.cs b/src/ServiceControlInstaller.Engine/Configuration/ServiceControl/ServiceControlAppConfig.cs index 3f2ef78627..e8238bf0ec 100644 --- a/src/ServiceControlInstaller.Engine/Configuration/ServiceControl/ServiceControlAppConfig.cs +++ b/src/ServiceControlInstaller.Engine/Configuration/ServiceControl/ServiceControlAppConfig.cs @@ -4,6 +4,7 @@ using System.Configuration; using System.Data.Common; using System.IO; + using System.Linq; using Instances; using NuGet.Versioning; @@ -21,6 +22,9 @@ protected override void UpdateSettings() var settings = Config.AppSettings.Settings; var version = details.Version; + //ServiceControl.Audit.Persistence.RavenDB.RavenPersistenceConfiguration.ConnectionStringKey + var hasOnlyRemoteRavenDbConnection = settings.AllKeys.Contains("RavenDB/ConnectionString") + && !settings.AllKeys.Contains(AuditInstanceSettingsList.DBPath.Name); settings.Set(ServiceControlSettings.InstanceName, details.InstanceName, version); settings.Set(ServiceControlSettings.VirtualDirectory, details.VirtualDirectory); @@ -28,7 +32,10 @@ protected override void UpdateSettings() settings.Set(ServiceControlSettings.DatabaseMaintenancePort, details.DatabaseMaintenancePort.ToString(), version); settings.Set(ServiceControlSettings.HostName, details.HostName); settings.Set(ServiceControlSettings.LogPath, details.LogPath); - settings.Set(ServiceControlSettings.DBPath, details.DBPath); + if (hasOnlyRemoteRavenDbConnection) + { + settings.Set(ServiceControlSettings.DBPath, details.DBPath); + } settings.Set(ServiceControlSettings.ForwardErrorMessages, details.ForwardErrorMessages.ToString(), version); settings.Set(ServiceControlSettings.TransportType, details.TransportPackage.Name, version); settings.Set(ServiceControlSettings.PersistenceType, details.PersistenceManifest.Name); // TODO: Why is it set here AND at ServiceControlInstance.ApplySettingsChanges 🤬