Assembly Naming, Default Windows Service Account

pull/110/head
Qstick 7 years ago
parent f1b1904e07
commit 10c29a65db

@ -136,8 +136,8 @@ Task("PackageMono").Does(() => {
DeleteFiles(outputFolderMono + "/sqlite3.*");
DeleteFiles(outputFolderMono + "/MediaInfo.*");
// Adding NzbDrone.Core.dll.config (for dllmap)
CopyFile(sourceFolder + "/NzbDrone.Core/NzbDrone.Core.dll.config", outputFolderMono + "/NzbDrone.Core.dll.config");
// Adding Lidarr.Core.dll.config (for dllmap)
CopyFile(sourceFolder + "/NzbDrone.Core/Lidarr.Core.dll.config", outputFolderMono + "/Lidarr.Core.dll.config");
// Adding CurlSharp.dll.config (for dllmap)
CopyFile(sourceFolder + "/NzbDrone.Common/CurlSharp.dll.config", outputFolderMono + "/CurlSharp.dll.config");
@ -148,11 +148,11 @@ Task("PackageMono").Does(() => {
MoveFile(outputFolderMono + "/Lidarr.Console.exe.config", outputFolderMono + "/Lidarr.exe.config");
MoveFile(outputFolderMono + "/Lidarr.Console.exe.mdb", outputFolderMono + "/Lidarr.exe.mdb");
// Remove NzbDrone.Windows.*
DeleteFiles(outputFolderMono + "/NzbDrone.Windows.*");
// Remove Lidarr.Windows.*
DeleteFiles(outputFolderMono + "/Lidarr.Windows.*");
// Adding NzbDrone.Mono to updatePackage
CopyFiles(outputFolderMono + "/NzbDrone.Mono.*", updateFolderMono);
// Adding Lidarr.Mono to updatePackage
CopyFiles(outputFolderMono + "/Lidarr.Mono.*", updateFolderMono);
});
Task("PackageOsx").Does(() => {
@ -227,8 +227,8 @@ Task("PackageTests").Does(() => {
// Clean
CleanFolder(testPackageFolder, true);
// Adding NzbDrone.Core.dll.config (for dllmap)
CopyFile(sourceFolder + "/NzbDrone.Core/NzbDrone.Core.dll.config", testPackageFolder + "/NzbDrone.Core.dll.config");
// Adding Lidarr.Core.dll.config (for dllmap)
CopyFile(sourceFolder + "/NzbDrone.Core/Lidarr.Core.dll.config", testPackageFolder + "/Lidarr.Core.dll.config");
// Adding CurlSharp.dll.config (for dllmap)
CopyFile(sourceFolder + "/NzbDrone.Common/CurlSharp.dll.config", testPackageFolder + "/CurlSharp.dll.config");
@ -239,10 +239,10 @@ Task("PackageTests").Does(() => {
Task("CleanupWindowsPackage").Does(() => {
// Remove mono
DeleteFiles(outputFolder + "/NzbDrone.Mono.*");
DeleteFiles(outputFolder + "/Lidarr.Mono.*");
// Adding NzbDrone.Windows to updatePackage
CopyFiles(outputFolder + "/NzbDrone.Windows.*", updateFolder);
// Adding Lidarr.Windows to updatePackage
CopyFiles(outputFolder + "/Lidarr.Windows.*", updateFolder);
});
Task("Build")

@ -158,8 +158,8 @@ PackageMono()
rm -f $outputFolderMono/sqlite3.*
rm -f $outputFolderMono/MediaInfo.*
echo "Adding NzbDrone.Core.dll.config (for dllmap)"
cp $sourceFolder/NzbDrone.Core/NzbDrone.Core.dll.config $outputFolderMono
echo "Adding Lidarr.Core.dll.config (for dllmap)"
cp $sourceFolder/NzbDrone.Core/Lidarr.Core.dll.config $outputFolderMono
echo "Adding CurlSharp.dll.config (for dllmap)"
cp $sourceFolder/NzbDrone.Common/CurlSharp.dll.config $outputFolderMono
@ -170,11 +170,11 @@ PackageMono()
mv "$file" "${file//.Console/}"
done
echo "Removing NzbDrone.Windows"
rm $outputFolderMono/NzbDrone.Windows.*
echo "Removing Lidarr.Windows"
rm $outputFolderMono/Lidarr.Windows.*
echo "Adding NzbDrone.Mono to UpdatePackage"
cp $outputFolderMono/NzbDrone.Mono.* $updateFolderMono
echo "Adding Lidarr.Mono to UpdatePackage"
cp $outputFolderMono/Lidarr.Mono.* $updateFolderMono
echo "##teamcity[progressFinish 'Creating Mono Package']"
}
@ -234,8 +234,8 @@ PackageTests()
CleanFolder $testPackageFolder true
echo "Adding NzbDrone.Core.dll.config (for dllmap)"
cp $sourceFolder/NzbDrone.Core/NzbDrone.Core.dll.config $testPackageFolder
echo "Adding Lidarr.Core.dll.config (for dllmap)"
cp $sourceFolder/NzbDrone.Core/Lidarr.Core.dll.config $testPackageFolder
echo "Adding CurlSharp.dll.config (for dllmap)"
cp $sourceFolder/NzbDrone.Common/CurlSharp.dll.config $testPackageFolder
@ -248,11 +248,11 @@ PackageTests()
CleanupWindowsPackage()
{
echo "Removing NzbDrone.Mono"
rm -f $outputFolder/NzbDrone.Mono.*
echo "Removing Lidarr.Mono"
rm -f $outputFolder/Lidarr.Mono.*
echo "Adding NzbDrone.Windows to UpdatePackage"
cp $outputFolder/NzbDrone.Windows.* $updateFolder
echo "Adding Lidarr.Windows to UpdatePackage"
cp $outputFolder/Lidarr.Windows.* $updateFolder
}
# Use mono or .net depending on OS

@ -1,3 +1,3 @@
REM SET BUILD_NUMBER=1
REM SET branch=develop
inno\ISCC.exe nzbdrone.iss
inno\ISCC.exe lidarr.iss

@ -6,7 +6,7 @@
#define AppURL "https://lidarr.audio/"
#define ForumsURL "https://forums.lidarr.audio/"
#define AppExeName "Lidarr.exe"
#define BuildNumber "2.0"
#define BuildNumber "0.3"
#define BuildNumber GetEnv('BUILD_NUMBER')
#define BranchName GetEnv('branch')

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using Ical.Net;
using Ical.Net.DataTypes;
using Ical.Net.General;
using Ical.Net.Interfaces.Serialization;
using Ical.Net.Serialization;
using Ical.Net.Serialization.iCalendar.Factory;
@ -67,6 +68,9 @@ namespace Lidarr.Api.V3.Calendar
ProductId = "-//lidarr.audio//Lidarr//EN"
};
var calendarName = "Lidarr Music Schedule";
calendar.AddProperty(new CalendarProperty("NAME", calendarName));
calendar.AddProperty(new CalendarProperty("X-WR-CALNAME", calendarName));
foreach (var album in albums.OrderBy(v => v.ReleaseDate.Value))
{

@ -1,9 +1,9 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("NzbDrone.Api")]
[assembly: AssemblyTitle("Lidarr.Api")]
[assembly: Guid("4c0922d7-979e-4ff7-b44b-b8ac2100eeb5")]
[assembly: InternalsVisibleTo("NzbDrone.Core")]
[assembly: InternalsVisibleTo("Lidarr.Core")]

@ -8,7 +8,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Api.Test</RootNamespace>
<AssemblyName>NzbDrone.Api.Test</AssemblyName>
<AssemblyName>Lidarr.Api.Test</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

@ -1,14 +1,14 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.Api.Test")]
[assembly: AssemblyTitle("Lidarr.Api.Test")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NzbDrone.Api.Test")]
[assembly: AssemblyProduct("Lidarr.Api.Test")]
[assembly: AssemblyCopyright("Copyright © 2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

@ -9,7 +9,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.App.Test</RootNamespace>
<AssemblyName>NzbDrone.App.Test</AssemblyName>
<AssemblyName>Lidarr.App.Test</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

@ -1,14 +1,14 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.App.Test")]
[assembly: AssemblyTitle("Lidarr.App.Test")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("NzbDrone.App.Test")]
[assembly: AssemblyProduct("Lidarr.App.Test")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

@ -3,6 +3,7 @@ using Moq;
using NUnit.Framework;
using NzbDrone.Common;
using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Processes;
using NzbDrone.Host;
using NzbDrone.Test.Common;
@ -22,9 +23,12 @@ namespace NzbDrone.App.Test
public void Route_should_call_install_service_when_application_mode_is_install()
{
var serviceProviderMock = Mocker.GetMock<IServiceProvider>(MockBehavior.Strict);
serviceProviderMock.Setup(c => c.Install(ServiceProvider.SERVICE_NAME));
serviceProviderMock.Setup(c => c.ServiceExist(ServiceProvider.SERVICE_NAME)).Returns(false);
serviceProviderMock.Setup(c => c.Start(ServiceProvider.SERVICE_NAME));
serviceProviderMock.Setup(c => c.Install(ServiceProvider.SERVICE_NAME));
serviceProviderMock.Setup(c => c.SetPermissions(ServiceProvider.SERVICE_NAME));
Mocker.GetMock<IProcessProvider>()
.Setup(c => c.SpawnNewProcess("sc.exe", It.IsAny<string>(), null, true));
Mocker.GetMock<IRuntimeInfo>().SetupGet(c => c.IsUserInteractive).Returns(true);
Subject.Route(ApplicationModes.InstallService);
@ -37,13 +41,13 @@ namespace NzbDrone.App.Test
public void Route_should_call_uninstall_service_when_application_mode_is_uninstall()
{
var serviceProviderMock = Mocker.GetMock<IServiceProvider>();
serviceProviderMock.Setup(c => c.UnInstall(ServiceProvider.SERVICE_NAME));
serviceProviderMock.Setup(c => c.Uninstall(ServiceProvider.SERVICE_NAME));
Mocker.GetMock<IRuntimeInfo>().SetupGet(c => c.IsUserInteractive).Returns(true);
serviceProviderMock.Setup(c => c.ServiceExist(ServiceProvider.SERVICE_NAME)).Returns(true);
Subject.Route(ApplicationModes.UninstallService);
serviceProviderMock.Verify(c => c.UnInstall(ServiceProvider.SERVICE_NAME), Times.Once());
serviceProviderMock.Verify(c => c.Uninstall(ServiceProvider.SERVICE_NAME), Times.Once());
}
[Test]

@ -8,7 +8,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Automation.Test</RootNamespace>
<AssemblyName>NzbDrone.Automation.Test</AssemblyName>
<AssemblyName>Lidarr.Automation.Test</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

@ -1,14 +1,14 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.Automation.Test")]
[assembly: AssemblyTitle("Lidarr.Automation.Test")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NzbDrone.Automation.Test")]
[assembly: AssemblyProduct("Lidarr.Automation.Test")]
[assembly: AssemblyCopyright("Copyright © 2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

@ -9,7 +9,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Common.Test</RootNamespace>
<AssemblyName>NzbDrone.Common.Test</AssemblyName>
<AssemblyName>Lidarr.Common.Test</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

@ -1,4 +1,4 @@
using System.Reflection;
using System.Reflection;
using FluentAssertions;
using NUnit.Framework;
using NzbDrone.Common.Reflection;
@ -12,7 +12,7 @@ namespace NzbDrone.Common.Test.ReflectionTests
[Test]
public void should_get_properties_from_models()
{
var models = Assembly.Load("NzbDrone.Core").ImplementationsOf<ModelBase>();
var models = Assembly.Load("Lidarr.Core").ImplementationsOf<ModelBase>();
foreach (var model in models)
{
@ -23,9 +23,9 @@ namespace NzbDrone.Common.Test.ReflectionTests
[Test]
public void should_be_able_to_get_implementations()
{
var models = Assembly.Load("NzbDrone.Core").ImplementationsOf<ModelBase>();
var models = Assembly.Load("Lidarr.Core").ImplementationsOf<ModelBase>();
models.Should().NotBeEmpty();
}
}
}
}

@ -36,7 +36,7 @@ namespace NzbDrone.Common.Test
{
if (Subject.ServiceExist(TEMP_SERVICE_NAME))
{
Subject.UnInstall(TEMP_SERVICE_NAME);
Subject.Uninstall(TEMP_SERVICE_NAME);
}
if (Subject.IsServiceRunning(ALWAYS_INSTALLED_SERVICE))
@ -65,7 +65,7 @@ namespace NzbDrone.Common.Test
Subject.ServiceExist(TEMP_SERVICE_NAME).Should().BeFalse("Service already installed");
Subject.Install(TEMP_SERVICE_NAME);
Subject.ServiceExist(TEMP_SERVICE_NAME).Should().BeTrue();
Subject.UnInstall(TEMP_SERVICE_NAME);
Subject.Uninstall(TEMP_SERVICE_NAME);
Subject.ServiceExist(TEMP_SERVICE_NAME).Should().BeFalse();
ExceptionVerification.ExpectedWarns(1);
@ -76,7 +76,7 @@ namespace NzbDrone.Common.Test
[ManualTest]
public void UnInstallService()
{
Subject.UnInstall(ServiceProvider.SERVICE_NAME);
Subject.Uninstall(ServiceProvider.SERVICE_NAME);
Subject.ServiceExist(ServiceProvider.SERVICE_NAME).Should().BeFalse();
}

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
@ -18,8 +18,8 @@ namespace NzbDrone.Common.Composition
{
_loadedTypes = new List<Type>();
assemblies.Add(OsInfo.IsWindows ? "NzbDrone.Windows" : "NzbDrone.Mono");
assemblies.Add("NzbDrone.Common");
assemblies.Add(OsInfo.IsWindows ? "Lidarr.Windows" : "Lidarr.Mono");
assemblies.Add("Lidarr.Common");
foreach (var assembly in assemblies)
{

@ -30,6 +30,8 @@ namespace NzbDrone.Common.EnvironmentInfo
if (entry != null)
{
ExecutingApplication = entry.Location;
IsWindowsTray = OsInfo.IsWindows && entry.ManifestModule.Name == $"{ProcessProvider.LIDARR_PROCESS_NAME}.exe";
}
}
@ -146,5 +148,7 @@ namespace NzbDrone.Common.EnvironmentInfo
return true;
}
public bool IsWindowsTray { get; private set; }
}
}

@ -9,7 +9,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Common</RootNamespace>
<AssemblyName>NzbDrone.Common</AssemblyName>
<AssemblyName>Lidarr.Common</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
@ -27,7 +27,7 @@ namespace NzbDrone.Common.Processes
bool Exists(string processName);
ProcessPriorityClass GetCurrentProcessPriority();
Process Start(string path, string args = null, StringDictionary environmentVariables = null, Action<string> onOutputDataReceived = null, Action<string> onErrorDataReceived = null);
Process SpawnNewProcess(string path, string args = null, StringDictionary environmentVariables = null);
Process SpawnNewProcess(string path, string args = null, StringDictionary environmentVariables = null, bool noWindow = false);
ProcessOutput StartAndCapture(string path, string args = null, StringDictionary environmentVariables = null);
}
@ -172,7 +172,7 @@ namespace NzbDrone.Common.Processes
return process;
}
public Process SpawnNewProcess(string path, string args = null, StringDictionary environmentVariables = null)
public Process SpawnNewProcess(string path, string args = null, StringDictionary environmentVariables = null, bool noWindow = false)
{
if (PlatformInfo.IsMono && path.EndsWith(".exe", StringComparison.InvariantCultureIgnoreCase))
{
@ -183,6 +183,9 @@ namespace NzbDrone.Common.Processes
_logger.Debug("Starting {0} {1}", path, args);
var startInfo = new ProcessStartInfo(path, args);
startInfo.CreateNoWindow = noWindow;
startInfo.UseShellExecute = !noWindow;
var process = new Process
{
StartInfo = startInfo

@ -1,10 +1,10 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.Common")]
[assembly: AssemblyTitle("Lidarr.Common")]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("b6eaa144-e13b-42e5-a738-c60d89c0f728")]

@ -1,11 +1,11 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// Gets updated at build time by TeamCity to branch name
[assembly: AssemblyConfiguration("debug")]
[assembly: AssemblyCompany("lidarr.audio")]
[assembly: AssemblyProduct("NzbDrone")]
[assembly: AssemblyProduct("Lidarr")]
[assembly: AssemblyVersion("10.0.0.*")]
[assembly: AssemblyCopyright("GNU General Public v3")]
[assembly: AssemblyTrademark("")]

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
@ -7,7 +7,7 @@ namespace NzbDrone.Common.Reflection
{
public static class ReflectionExtensions
{
public static readonly Assembly CoreAssembly = Assembly.Load("NzbDrone.Core");
public static readonly Assembly CoreAssembly = Assembly.Load("Lidarr.Core");
public static List<PropertyInfo> GetSimpleProperties(this Type type)
{
@ -70,4 +70,4 @@ namespace NzbDrone.Common.Reflection
return type.GetCustomAttributes(typeof(TAttribute), true).Any();
}
}
}
}

@ -1,10 +1,11 @@
using System;
using System;
using System.Collections.Specialized;
using System.Configuration.Install;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using NLog;
using NzbDrone.Common.Extensions;
using NzbDrone.Common.Processes;
namespace NzbDrone.Common
@ -14,13 +15,14 @@ namespace NzbDrone.Common
bool ServiceExist(string name);
bool IsServiceRunning(string name);
void Install(string serviceName);
void UnInstall(string serviceName);
void Uninstall(string serviceName);
void Run(ServiceBase service);
ServiceController GetService(string serviceName);
void Stop(string serviceName);
void Start(string serviceName);
ServiceControllerStatus GetStatus(string serviceName);
void Restart(string serviceName);
void SetPermissions(string serviceName);
}
public class ServiceProvider : IServiceProvider
@ -30,7 +32,6 @@ namespace NzbDrone.Common
private readonly IProcessProvider _processProvider;
private readonly Logger _logger;
public ServiceProvider(IProcessProvider processProvider, Logger logger)
{
_processProvider = processProvider;
@ -66,7 +67,7 @@ namespace NzbDrone.Common
var installer = new ServiceProcessInstaller
{
Account = ServiceAccount.LocalSystem
Account = ServiceAccount.LocalService
};
var serviceInstaller = new ServiceInstaller();
@ -89,7 +90,7 @@ namespace NzbDrone.Common
_logger.Info("Service Has installed successfully.");
}
public virtual void UnInstall(string serviceName)
public virtual void Uninstall(string serviceName)
{
_logger.Info("Uninstalling {0} service", serviceName);
@ -189,5 +190,42 @@ namespace NzbDrone.Common
_processProvider.Start("cmd.exe", args);
}
public void SetPermissions(string serviceName)
{
var dacls = GetServiceDacls(serviceName);
SetServiceDacls(serviceName, dacls);
}
private string GetServiceDacls(string serviceName)
{
var output = _processProvider.StartAndCapture("sc.exe", $"sdshow {serviceName}");
var dacls = output.Standard.Select(s => s.Content).Where(s => s.IsNotNullOrWhiteSpace()).ToList();
if (dacls.Count == 1)
{
return dacls[0];
}
throw new ArgumentException("Invalid DACL output");
}
private void SetServiceDacls(string serviceName, string dacls)
{
const string authenticatedUsersDacl = "(A;;CCLCSWRPWPLOCRRC;;;AU)";
if (dacls.Contains(authenticatedUsersDacl))
{
// Permssions already set
return;
}
var indexOfS = dacls.IndexOf("S:", StringComparison.InvariantCultureIgnoreCase);
dacls = indexOfS == -1 ? $"{dacls}{authenticatedUsersDacl}" : dacls.Insert(indexOfS, authenticatedUsersDacl);
_processProvider.Start("sc.exe", $"sdset {serviceName} {dacls}").WaitForExit();
}
}
}
}

@ -1,4 +1,4 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following

@ -9,7 +9,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Core.Test</RootNamespace>
<AssemblyName>NzbDrone.Core.Test</AssemblyName>
<AssemblyName>Lidarr.Core.Test</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

@ -1,4 +1,4 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@ -6,11 +6,11 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.Core.Test")]
[assembly: AssemblyTitle("Lidarr.Core.Test")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("NzbDrone.Core.Test")]
[assembly: AssemblyProduct("Lidarr.Core.Test")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@ -25,4 +25,4 @@ using System.Runtime.InteropServices;
[assembly: Guid("699aed1b-015e-4f0d-9c81-d5557b05d260")]
[assembly: InternalsVisibleTo("NzbDrone.Core")]
[assembly: InternalsVisibleTo("Lidarr.Core")]

@ -9,7 +9,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Core</RootNamespace>
<AssemblyName>NzbDrone.Core</AssemblyName>
<AssemblyName>Lidarr.Core</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
@ -1059,7 +1059,7 @@
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="NzbDrone.Core.dll.config">
<None Include="Lidarr.Core.dll.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="packages.config" />

@ -1,4 +1,4 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@ -6,9 +6,9 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.Core")]
[assembly: AssemblyTitle("Lidarr.Core")]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("3C29FEF7-4B07-49ED-822E-1C29DC49BFAB")]
[assembly: InternalsVisibleTo("NzbDrone.Core.Test")]
[assembly: InternalsVisibleTo("Lidarr.Core.Test")]

@ -14,9 +14,9 @@ namespace NzbDrone.Host
{
var assemblies = new List<string>
{
"NzbDrone.Host",
"NzbDrone.Core",
"NzbDrone.SignalR",
"Lidarr.Host",
"Lidarr.Core",
"Lidarr.SignalR",
"Lidarr.Api.V3",
"Lidarr.Http"
};

@ -9,7 +9,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Host</RootNamespace>
<AssemblyName>NzbDrone.Host</AssemblyName>
<AssemblyName>Lidarr.Host</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile>

@ -1,5 +1,10 @@
using NLog;
using System;
using NLog;
using NzbDrone.Common;
using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Processes;
using IServiceProvider = NzbDrone.Common.IServiceProvider;
namespace NzbDrone.Host
{
@ -8,14 +13,19 @@ namespace NzbDrone.Host
private readonly INzbDroneServiceFactory _nzbDroneServiceFactory;
private readonly IServiceProvider _serviceProvider;
private readonly IConsoleService _consoleService;
private readonly IProcessProvider _processProvider;
private readonly Logger _logger;
public Router(INzbDroneServiceFactory nzbDroneServiceFactory, IServiceProvider serviceProvider,
IConsoleService consoleService, Logger logger)
public Router(INzbDroneServiceFactory nzbDroneServiceFactory,
IServiceProvider serviceProvider,
IConsoleService consoleService,
IProcessProvider processProvider,
Logger logger)
{
_nzbDroneServiceFactory = nzbDroneServiceFactory;
_serviceProvider = serviceProvider;
_consoleService = consoleService;
_processProvider = processProvider;
_logger = logger;
}
@ -48,7 +58,11 @@ namespace NzbDrone.Host
else
{
_serviceProvider.Install(ServiceProvider.SERVICE_NAME);
_serviceProvider.Start(ServiceProvider.SERVICE_NAME);
_serviceProvider.SetPermissions(ServiceProvider.SERVICE_NAME);
// Start the service and exit.
// Ensures that there isn't an instance of Sonarr already running that the service account cannot stop.
_processProvider.SpawnNewProcess("sc.exe", $"start {ServiceProvider.SERVICE_NAME}", null, true);
}
break;
}
@ -61,7 +75,7 @@ namespace NzbDrone.Host
}
else
{
_serviceProvider.UnInstall(ServiceProvider.SERVICE_NAME);
_serviceProvider.Uninstall(ServiceProvider.SERVICE_NAME);
}
break;

@ -12,10 +12,10 @@ namespace NzbDrone.Integration.Test.ApiTests
[Test, Order(0)]
public void add_artist_with_tags_should_store_them()
{
EnsureNoArtist("266189", "Alien Ant Farm");
EnsureNoArtist("f59c5520-5f46-4d2c-b2c4-822eabf53419", "Linkin Park");
var tag = EnsureTag("abc");
var artist = Artist.Lookup("lidarr:266189").Single();
var artist = Artist.Lookup("lidarr:f59c5520-5f46-4d2c-b2c4-822eabf53419").Single();
artist.QualityProfileId = 1;
artist.Path = Path.Combine(ArtistRootFolder, artist.ArtistName);
@ -31,9 +31,9 @@ namespace NzbDrone.Integration.Test.ApiTests
[Test, Order(0)]
public void add_artist_without_profileid_should_return_badrequest()
{
EnsureNoArtist("266189", "Alien Ant Farm");
EnsureNoArtist("f59c5520-5f46-4d2c-b2c4-822eabf53419", "Linkin Park");
var artist = Artist.Lookup("lidarr:266189").Single();
var artist = Artist.Lookup("lidarr:f59c5520-5f46-4d2c-b2c4-822eabf53419").Single();
artist.Path = Path.Combine(ArtistRootFolder, artist.ArtistName);
@ -43,9 +43,9 @@ namespace NzbDrone.Integration.Test.ApiTests
[Test, Order(0)]
public void add_artist_without_path_should_return_badrequest()
{
EnsureNoArtist("266189", "Alien Ant Farm");
EnsureNoArtist("f59c5520-5f46-4d2c-b2c4-822eabf53419", "Linkin Park");
var artist = Artist.Lookup("lidarr:266189").Single();
var artist = Artist.Lookup("lidarr:f59c5520-5f46-4d2c-b2c4-822eabf53419").Single();
artist.QualityProfileId = 1;
@ -55,9 +55,9 @@ namespace NzbDrone.Integration.Test.ApiTests
[Test, Order(1)]
public void add_artist()
{
EnsureNoArtist("266189", "Alien Ant Farm");
EnsureNoArtist("f59c5520-5f46-4d2c-b2c4-822eabf53419", "Linkin Park");
var artist = Artist.Lookup("lidarr:266189").Single();
var artist = Artist.Lookup("lidarr:f59c5520-5f46-4d2c-b2c4-822eabf53419").Single();
artist.QualityProfileId = 1;
artist.Path = Path.Combine(ArtistRootFolder, artist.ArtistName);
@ -119,7 +119,7 @@ namespace NzbDrone.Integration.Test.ApiTests
[Test, Order(3)]
public void update_artist_monitored()
{
var artist = EnsureArtist("266189", "Alien Ant Farm", false);
var artist = EnsureArtist("f59c5520-5f46-4d2c-b2c4-822eabf53419", "Linkin Park", false);
artist.Monitored.Should().BeFalse();
//artist.Seasons.First().Monitored.Should().BeFalse();

@ -10,7 +10,7 @@ namespace NzbDrone.Integration.Test
{
private RestRequest BuildRequest()
{
var request = new RestRequest("series");
var request = new RestRequest("artist");
request.AddHeader(AccessControlHeaders.RequestMethod, "POST");
return request;

@ -40,7 +40,7 @@ namespace NzbDrone.Integration.Test
public ClientBase<BlacklistResource> Blacklist;
public CommandClient Commands;
public DownloadClientClient DownloadClients;
public AlbumClient Episodes;
public AlbumClient Albums;
public TrackClient Tracks;
public ClientBase<HistoryResource> History;
public ClientBase<HostConfigResource> HostConfig;
@ -101,7 +101,7 @@ namespace NzbDrone.Integration.Test
Blacklist = new ClientBase<BlacklistResource>(RestClient, ApiKey);
Commands = new CommandClient(RestClient, ApiKey);
DownloadClients = new DownloadClientClient(RestClient, ApiKey);
Episodes = new AlbumClient(RestClient, ApiKey);
Albums = new AlbumClient(RestClient, ApiKey);
History = new ClientBase<HistoryResource>(RestClient, ApiKey);
HostConfig = new ClientBase<HostConfigResource>(RestClient, ApiKey, "config/host");
Indexers = new IndexerClient(RestClient, ApiKey);
@ -212,6 +212,7 @@ namespace NzbDrone.Integration.Test
var lookup = Artist.Lookup("lidarr:" + lidarrId);
var artist = lookup.First();
artist.QualityProfileId = 1;
artist.LanguageProfileId = 1;
artist.Path = Path.Combine(ArtistRootFolder, artist.ArtistName);
artist.Monitored = true;
artist.AddOptions = new Core.Music.AddArtistOptions();

@ -8,7 +8,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Integration.Test</RootNamespace>
<AssemblyName>NzbDrone.Integration.Test</AssemblyName>
<AssemblyName>Lidarr.Integration.Test</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

@ -1,14 +1,14 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.Smoke.Test")]
[assembly: AssemblyTitle("Lidarr.Smoke.Test")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NzbDrone.Smoke.Test")]
[assembly: AssemblyProduct("Lidarr.Smoke.Test")]
[assembly: AssemblyCopyright("Copyright © 2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

@ -8,7 +8,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Libraries.Test</RootNamespace>
<AssemblyName>NzbDrone.Libraries.Test</AssemblyName>
<AssemblyName>Lidarr.Libraries.Test</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

@ -1,14 +1,14 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.Libraries.Test")]
[assembly: AssemblyTitle("Lidarr.Libraries.Test")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NzbDrone.Libraries.Test")]
[assembly: AssemblyProduct("Lidarr.Libraries.Test")]
[assembly: AssemblyCopyright("Copyright © 2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

@ -8,7 +8,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Mono.Test</RootNamespace>
<AssemblyName>NzbDrone.Mono.Test</AssemblyName>
<AssemblyName>Lidarr.Mono.Test</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

@ -1,14 +1,14 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.Mono.Test")]
[assembly: AssemblyTitle("Lidarr.Mono.Test")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NzbDrone.Mono.Test")]
[assembly: AssemblyProduct("Lidarr.Mono.Test")]
[assembly: AssemblyCopyright("Copyright © 2014")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

@ -8,7 +8,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Mono</RootNamespace>
<AssemblyName>NzbDrone.Mono</AssemblyName>
<AssemblyName>Lidarr.Mono</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />

@ -1,14 +1,14 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.Mono")]
[assembly: AssemblyTitle("Lidarr.Mono")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NzbDrone.Mono")]
[assembly: AssemblyProduct("Lidarr.Mono")]
[assembly: AssemblyCopyright("Copyright © 2014")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

@ -8,7 +8,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.SignalR</RootNamespace>
<AssemblyName>NzbDrone.SignalR</AssemblyName>
<AssemblyName>Lidarr.SignalR</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

@ -1,9 +1,9 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.SignalR")]
[assembly: AssemblyTitle("Lidarr.SignalR")]
[assembly: Guid("98bd985a-4f23-4201-8ed3-f6f3d7f2a5fe")]

@ -171,11 +171,11 @@ namespace NzbDrone.Test.Common.AutoMoq
private void RegisterPlatformLibrary(IUnityContainer container)
{
var assemblyName = "NzbDrone.Windows";
var assemblyName = "Lidarr.Windows";
if (OsInfo.IsNotWindows)
{
assemblyName = "NzbDrone.Mono";
assemblyName = "Lidarr.Mono";
}
if (!File.Exists(assemblyName + ".dll"))
@ -188,4 +188,4 @@ namespace NzbDrone.Test.Common.AutoMoq
#endregion
}
}
}

@ -9,7 +9,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Test.Common</RootNamespace>
<AssemblyName>NzbDrone.Test.Common</AssemblyName>
<AssemblyName>Lidarr.Test.Common</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

@ -1,14 +1,14 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.Test.Common")]
[assembly: AssemblyTitle("Lidarr.Test.Common")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("NzbDrone.Test.Common")]
[assembly: AssemblyProduct("Lidarr.Test.Common")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

@ -1,11 +1,11 @@
using System;
using System;
using System.Diagnostics;
namespace NzbDrone.Test.Dummy
{
public class DummyApp
{
public const string DUMMY_PROCCESS_NAME = "NzbDrone.Test.Dummy";
public const string DUMMY_PROCCESS_NAME = "Lidarr.Test.Dummy";
static void Main(string[] args)
{

@ -9,7 +9,7 @@
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Test.Dummy</RootNamespace>
<AssemblyName>NzbDrone.Test.Dummy</AssemblyName>
<AssemblyName>Lidarr.Test.Dummy</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>

@ -1,14 +1,14 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.Test.Dummy")]
[assembly: AssemblyTitle("Lidarr.Test.Dummy")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("NzbDrone.Test.Dummy")]
[assembly: AssemblyProduct("Lidarr.Test.Dummy")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

@ -9,7 +9,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Update.Test</RootNamespace>
<AssemblyName>NzbDrone.Update.Test</AssemblyName>
<AssemblyName>Lidarr.Update.Test</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>

@ -1,14 +1,14 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.Update.Test")]
[assembly: AssemblyTitle("Lidarr.Update.Test")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("NzbDrone.Update.Test")]
[assembly: AssemblyProduct("Lidarr.Update.Test")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

@ -32,7 +32,7 @@ namespace NzbDrone.Update.Test
Subject.Start(AppType.Service, targetFolder);
Mocker.GetMock<IProcessProvider>().Verify(c => c.SpawnNewProcess("c:\\Lidarr\\Lidarr.Console.exe", "/" + StartupContext.NO_BROWSER, null), Times.Once());
Mocker.GetMock<IProcessProvider>().Verify(c => c.SpawnNewProcess("c:\\Lidarr\\Lidarr.Console.exe", "/" + StartupContext.NO_BROWSER, null, false), Times.Once());
ExceptionVerification.ExpectedWarns(1);
}

@ -1,10 +1,10 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.Update")]
[assembly: AssemblyTitle("Lidarr.Update")]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("e4560a3d-8053-4d57-a260-bfe52f4cc357")]

@ -8,7 +8,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Windows.Test</RootNamespace>
<AssemblyName>NzbDrone.Windows.Test</AssemblyName>
<AssemblyName>Lidarr.Windows.Test</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

@ -1,14 +1,14 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.Windows.Test")]
[assembly: AssemblyTitle("Lidarr.Windows.Test")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NzbDrone.Windows.Test")]
[assembly: AssemblyProduct("Lidarr.Windows.Test")]
[assembly: AssemblyCopyright("Copyright © 2014")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

@ -8,7 +8,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NzbDrone.Windows</RootNamespace>
<AssemblyName>NzbDrone.Windows</AssemblyName>
<AssemblyName>Lidarr.Windows</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

@ -1,14 +1,14 @@
using System.Reflection;
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NzbDrone.Windows")]
[assembly: AssemblyTitle("Lidarr.Windows")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NzbDrone.Windows")]
[assembly: AssemblyProduct("Lidarr.Windows")]
[assembly: AssemblyCopyright("Copyright © 2014")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

@ -50,13 +50,11 @@ namespace ServiceInstall
process.BeginOutputReadLine();
process.WaitForExit();
}
private static void OnDataReceived(object sender, DataReceivedEventArgs e)
{
Console.WriteLine(e.Data);
}
}
}

@ -50,13 +50,11 @@ namespace ServiceUninstall
process.BeginOutputReadLine();
process.WaitForExit();
}
private static void OnDataReceived(object sender, DataReceivedEventArgs e)
{
Console.WriteLine(e.Data);
}
}
}

Loading…
Cancel
Save