/// <summary> /// Uninstalls service. /// </summary> private static void CleanupServiceInstallation( ServiceItem service, string sourceCode) { if (File.Exists(service.BinaryPathName)) { File.Delete(service.BinaryPathName); } CompileDynamic( sourceCode, service.BinaryPathName, "v4.0.30319"); try { ServiceHelper_Accessor.UninstallService( service.TargetFramework, service.BinaryPathName); } catch (InvalidOperationException) { } if (File.Exists(service.BinaryPathName)) { File.Delete(service.BinaryPathName); } }
public void Installing_And_Uninstalling_Multiple_Service_NET_2() { const TargetFramework targetFramework = TargetFramework.Net20; string binaryPathName = Path.Combine( s_basePath, "TestWindowsService.exe"); bool ok = CompileDynamic( Resources.WindowsService2, binaryPathName, "v2.0.50727"); Assert.IsTrue(ok); var services1 = ServiceHelper_Accessor.GetInstalledServices(); ServiceHelper_Accessor.InstallService( targetFramework, binaryPathName); var services2 = ServiceHelper_Accessor.GetInstalledServices(); services2.ExceptWith(services1); Assert.AreEqual(2, services2.Count); ServiceItem serviceItemA = services2.First(); Assert.AreEqual("WindowsService2a", serviceItemA.ServiceName); Assert.AreEqual("[Test] Windows Service #2-A", serviceItemA.DisplayName); string actualBinaryPathNameA = ServiceHelper_Accessor.GetInstalledServiceBinaryPathName("WindowsService2a"); Assert.AreEqual(binaryPathName, actualBinaryPathNameA); ServiceItem serviceItemB = services2.Last(); Assert.AreEqual("WindowsService2b", serviceItemB.ServiceName); Assert.AreEqual("[Test] Windows Service #2-B", serviceItemB.DisplayName); string actualBinaryPathNameB = ServiceHelper_Accessor.GetInstalledServiceBinaryPathName("WindowsService2a"); Assert.AreEqual(binaryPathName, actualBinaryPathNameB); ServiceHelper_Accessor.UninstallService( targetFramework, binaryPathName); File.Delete(binaryPathName); }
public void Installing_And_Uninstalling_Single_Service_NET_4() { const TargetFramework targetFramework = TargetFramework.Net40; string binaryPathName = Path.Combine( s_basePath, "TestWindowsService.exe"); bool ok = CompileDynamic( Resources.WindowsService1, binaryPathName, "v4.0.30319"); Assert.IsTrue(ok); var services1 = ServiceHelper_Accessor.GetInstalledServices(); ServiceHelper_Accessor.InstallService( targetFramework, binaryPathName); var services2 = ServiceHelper_Accessor.GetInstalledServices(); services2.ExceptWith(services1); Assert.AreEqual( 1, services2.Count); ServiceItem serviceItem = services2.First(); Assert.AreEqual( "WindowsService1", serviceItem.ServiceName); Assert.AreEqual( "[Test] Windows Service #1", serviceItem.DisplayName); string actualBinaryPathName = ServiceHelper_Accessor.GetInstalledServiceBinaryPathName("WindowsService1"); Assert.AreEqual(binaryPathName, actualBinaryPathName); ServiceHelper_Accessor.UninstallService( targetFramework, binaryPathName); File.Delete(binaryPathName); }