From e3b4af31d93962a7bd0a417d400921e00e9e249a Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Thu, 12 Jan 2023 11:39:43 -0800 Subject: Fix compiler to handle util:ServiceConfig absent reset period and start delay Fixes 7150 --- .../TestData/ServiceConfig/Package.wxs | 27 ++++++++++++++++++++++ .../WixToolsetTest.Util/UtilExtensionFixture.cs | 17 ++++++++++++++ src/ext/Util/wixext/UtilCompiler.cs | 4 ++-- 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 src/ext/Util/test/WixToolsetTest.Util/TestData/ServiceConfig/Package.wxs (limited to 'src/ext') diff --git a/src/ext/Util/test/WixToolsetTest.Util/TestData/ServiceConfig/Package.wxs b/src/ext/Util/test/WixToolsetTest.Util/TestData/ServiceConfig/Package.wxs new file mode 100644 index 00000000..0e7cc42b --- /dev/null +++ b/src/ext/Util/test/WixToolsetTest.Util/TestData/ServiceConfig/Package.wxs @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs b/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs index 18bb2c7d..2b59b2a9 100644 --- a/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs +++ b/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs @@ -170,6 +170,23 @@ namespace WixToolsetTest.Util }, results.OrderBy(s => s).ToArray()); } + [Fact] + public void CanBuildServiceConfig() + { + var folder = TestData.Get(@"TestData", "ServiceConfig"); + var build = new Builder(folder, typeof(UtilExtensionFactory), new[] { folder }, "test.msi"); + + var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "ServiceConfig", "Wix4ServiceConfig"); + WixAssert.CompareLineByLine(new[] + { + "Binary:Wix4UtilCA_X64\t[Binary data]", + "CustomAction:Wix4ExecServiceConfig_X64\t3073\tWix4UtilCA_X64\tExecServiceConfig\t", + "CustomAction:Wix4RollbackServiceConfig_X64\t3329\tWix4UtilCA_X64\tRollbackServiceConfig\t", + "CustomAction:Wix4SchedServiceConfig_X64\t1\tWix4UtilCA_X64\tSchedServiceConfig\t", + "Wix4ServiceConfig:svc\tfilPeUUVRrj2.Q_YcmN55mro4H1aQY\t1\trestart\trestart\trestart\t\t\t\t", + }, results.OrderBy(s => s).ToArray()); + } + [Fact] public void CanBuildWithEventManifest() { diff --git a/src/ext/Util/wixext/UtilCompiler.cs b/src/ext/Util/wixext/UtilCompiler.cs index c2ae5c94..9249f74a 100644 --- a/src/ext/Util/wixext/UtilCompiler.cs +++ b/src/ext/Util/wixext/UtilCompiler.cs @@ -3072,8 +3072,8 @@ namespace WixToolset.Util var newService = false; string programCommandLine = null; string rebootMessage = null; - var resetPeriod = CompilerConstants.IntegerNotSet; - var restartServiceDelay = CompilerConstants.IntegerNotSet; + int? resetPeriod = null; + int? restartServiceDelay = null; string secondFailureActionType = null; string serviceName = null; string thirdFailureActionType = null; -- cgit v1.2.3-55-g6feb