From e8958d11d24ea00184bb1604ce6e94aed701e94a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dennis=20M=C3=B8llegaard?= Date: Tue, 22 Dec 2020 19:24:44 +0100 Subject: [PATCH] Adds Installer and prepare for versions --- .gitignore | 1 + Frontend/MainWindow.cs | 6 +- Program.cs | 1 + Properties/AssemblyInfo.cs | 3 +- Setup/Setup.vdproj | 1745 ++++++++++++++++++++++++++ Shared/ApplicationVersionService.cs | 12 + Shared/IApplicationVersionService.cs | 7 + Slipstream.csproj | 6 +- Slipstream.sln | 4 + 9 files changed, 1781 insertions(+), 4 deletions(-) create mode 100644 Setup/Setup.vdproj create mode 100644 Shared/ApplicationVersionService.cs create mode 100644 Shared/IApplicationVersionService.cs diff --git a/.gitignore b/.gitignore index 0ccb2473..2366b964 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /.vs packages/ NOTES.txt +/Setup/Debug/ \ No newline at end of file diff --git a/Frontend/MainWindow.cs b/Frontend/MainWindow.cs index a4fd42f9..2adc1bc8 100644 --- a/Frontend/MainWindow.cs +++ b/Frontend/MainWindow.cs @@ -21,10 +21,12 @@ public partial class MainWindow : Form private readonly string AudioPath; private readonly BlockingCollection PendingMessages = new BlockingCollection(); private readonly IDictionary MenuPluginItems = new Dictionary(); + private readonly IApplicationVersionService ApplicationVersionService; - public MainWindow(IEventBus eventBus) + public MainWindow(IEventBus eventBus, IApplicationVersionService applicationVersionService) { EventBus = eventBus; + ApplicationVersionService = applicationVersionService; InitializeComponent(); @@ -34,6 +36,8 @@ public MainWindow(IEventBus eventBus) AudioPath = @"Audio\"; System.IO.Directory.CreateDirectory(AudioPath); + this.Text += " v" + applicationVersionService.Version; + Load += MainWindow_Load; FormClosing += MainWindow_FormClosing; } diff --git a/Program.cs b/Program.cs index cc6fdfd1..26cdc292 100644 --- a/Program.cs +++ b/Program.cs @@ -42,6 +42,7 @@ private static void ConfigureServices(ServiceCollection services) services.AddScoped(x => x.GetService()); services.AddScoped(); services.AddScoped(x => new Backend.Services.StateService(x.GetService(), Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + $@"\Slipstream\state.txt")); + services.AddTransient(); } } } diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index 3b72b23b..edc674da 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -7,7 +7,7 @@ [assembly: AssemblyTitle("Slipstream")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] +[assembly: AssemblyCompany("Slipstream")] [assembly: AssemblyProduct("Slipstream")] [assembly: AssemblyCopyright("Copyright © 2020")] [assembly: AssemblyTrademark("")] @@ -33,3 +33,4 @@ // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyInformationalVersionAttribute("0.1.0")] diff --git a/Setup/Setup.vdproj b/Setup/Setup.vdproj new file mode 100644 index 00000000..f0c04ff9 --- /dev/null +++ b/Setup/Setup.vdproj @@ -0,0 +1,1745 @@ +"DeployProject" +{ +"VSVersion" = "3:800" +"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" +"IsWebType" = "8:FALSE" +"ProjectName" = "8:Setup" +"LanguageId" = "3:1033" +"CodePage" = "3:1252" +"UILanguageId" = "3:1033" +"SccProjectName" = "8:" +"SccLocalPath" = "8:" +"SccAuxPath" = "8:" +"SccProvider" = "8:" + "Hierarchy" + { + "Entry" + { + "MsmKey" = "8:_04A663A584CC5CAB7C269984BDF8F856" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_05324B15378B761EB5F663B4B484AAE3" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_0EDF5BB84677446CB681CF9F4356105C" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_43729DFFE57A0B01A5D24E0530E8ABDC" + "OwnerKey" = "8:_05324B15378B761EB5F663B4B484AAE3" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_43729DFFE57A0B01A5D24E0530E8ABDC" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_43729DFFE57A0B01A5D24E0530E8ABDC" + "OwnerKey" = "8:_EA0E7CA235496C86828CF80EDC33F3CD" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_4522A82521F0F0A1C35BCA4A597D7678" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_4E2F95948163BA13E6FD07D182D2C31A" + "OwnerKey" = "8:_68673912A339F055E44D6866CA4F2228" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_52537FC21AAB97010AC371B7267EA2DA" + "OwnerKey" = "8:_6F80C6829CCA085483C505DB3C48BFA9" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_52537FC21AAB97010AC371B7267EA2DA" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_57E4DDEEBBE87D0D5390757CD5F22E40" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_57E4DDEEBBE87D0D5390757CD5F22E40" + "OwnerKey" = "8:_860742E32EB5AF9BF70010D9359F9717" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_68673912A339F055E44D6866CA4F2228" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_68673912A339F055E44D6866CA4F2228" + "OwnerKey" = "8:_92F93CA46358EA21CDFBC2F57C69A08A" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_68673912A339F055E44D6866CA4F2228" + "OwnerKey" = "8:_EA0E7CA235496C86828CF80EDC33F3CD" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_68673912A339F055E44D6866CA4F2228" + "OwnerKey" = "8:_43729DFFE57A0B01A5D24E0530E8ABDC" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_68673912A339F055E44D6866CA4F2228" + "OwnerKey" = "8:_05324B15378B761EB5F663B4B484AAE3" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6ABDE59550DEAD80D9131EE321A5B031" + "OwnerKey" = "8:_04A663A584CC5CAB7C269984BDF8F856" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6ABDE59550DEAD80D9131EE321A5B031" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6F80C6829CCA085483C505DB3C48BFA9" + "OwnerKey" = "8:_57E4DDEEBBE87D0D5390757CD5F22E40" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6F80C6829CCA085483C505DB3C48BFA9" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6F80C6829CCA085483C505DB3C48BFA9" + "OwnerKey" = "8:_860742E32EB5AF9BF70010D9359F9717" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_75DF5301B7848A5B4E79C635B405B1C1" + "OwnerKey" = "8:_68673912A339F055E44D6866CA4F2228" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_860742E32EB5AF9BF70010D9359F9717" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_92F93CA46358EA21CDFBC2F57C69A08A" + "OwnerKey" = "8:_05324B15378B761EB5F663B4B484AAE3" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_92F93CA46358EA21CDFBC2F57C69A08A" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_9FE1ED6F5236C59C64BE2296EB834EA2" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_9FE1ED6F5236C59C64BE2296EB834EA2" + "OwnerKey" = "8:_05324B15378B761EB5F663B4B484AAE3" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_A20CF45D2949C346FE9F444EAAFEB264" + "OwnerKey" = "8:_D1CBDD1BF0E9297B8E0F8E483F4CF4DA" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_A20CF45D2949C346FE9F444EAAFEB264" + "OwnerKey" = "8:_68673912A339F055E44D6866CA4F2228" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_B99DA0E367F587494B49BA1371150FC6" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_B99DA0E367F587494B49BA1371150FC6" + "OwnerKey" = "8:_D029BF6CFF42147546AB1F810FF57CEA" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_D029BF6CFF42147546AB1F810FF57CEA" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_D1CBDD1BF0E9297B8E0F8E483F4CF4DA" + "OwnerKey" = "8:_68673912A339F055E44D6866CA4F2228" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_DAF8F4ACE43B1D6D56206E3B9FF126FF" + "OwnerKey" = "8:_860742E32EB5AF9BF70010D9359F9717" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_DAF8F4ACE43B1D6D56206E3B9FF126FF" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_E2CB5AB0D851E5FE77BB5163BEDB1476" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_EA0E7CA235496C86828CF80EDC33F3CD" + "OwnerKey" = "8:_05324B15378B761EB5F663B4B484AAE3" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_EA0E7CA235496C86828CF80EDC33F3CD" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_D029BF6CFF42147546AB1F810FF57CEA" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_4522A82521F0F0A1C35BCA4A597D7678" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_9FE1ED6F5236C59C64BE2296EB834EA2" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_860742E32EB5AF9BF70010D9359F9717" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_DAF8F4ACE43B1D6D56206E3B9FF126FF" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_57E4DDEEBBE87D0D5390757CD5F22E40" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_6F80C6829CCA085483C505DB3C48BFA9" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_52537FC21AAB97010AC371B7267EA2DA" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_B99DA0E367F587494B49BA1371150FC6" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_04A663A584CC5CAB7C269984BDF8F856" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_6ABDE59550DEAD80D9131EE321A5B031" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_E2CB5AB0D851E5FE77BB5163BEDB1476" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_68673912A339F055E44D6866CA4F2228" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_75DF5301B7848A5B4E79C635B405B1C1" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_D1CBDD1BF0E9297B8E0F8E483F4CF4DA" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_A20CF45D2949C346FE9F444EAAFEB264" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_4E2F95948163BA13E6FD07D182D2C31A" + "MsmSig" = "8:_UNDEFINED" + } + } + "Configurations" + { + "Debug" + { + "DisplayName" = "8:Debug" + "IsDebugOnly" = "11:TRUE" + "IsReleaseOnly" = "11:FALSE" + "OutputFilename" = "8:Debug\\Setup.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + } + } + "Release" + { + "DisplayName" = "8:Release" + "IsDebugOnly" = "11:FALSE" + "IsReleaseOnly" = "11:TRUE" + "OutputFilename" = "8:Release\\Setup.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + } + } + } + "Deployable" + { + "CustomAction" + { + } + "DefaultFeature" + { + "Name" = "8:DefaultFeature" + "Title" = "8:" + "Description" = "8:" + } + "ExternalPersistence" + { + "LaunchCondition" + { + "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_0966F25804964BE99AFA99F168AB4BD6" + { + "Name" = "8:.NET Framework" + "Message" = "8:[VSDNETMSG]" + "FrameworkVersion" = "8:.NETFramework,Version=v4.7.2" + "AllowLaterVersions" = "11:FALSE" + "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=863262" + } + } + } + "File" + { + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_04A663A584CC5CAB7C269984BDF8F856" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:iRacingSDK, Version=1.13.7661.34646, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_04A663A584CC5CAB7C269984BDF8F856" + { + "Name" = "8:iRacingSDK.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:iRacingSDK.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_05324B15378B761EB5F663B4B484AAE3" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:TwitchLib.Client, Version=3.1.5.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_05324B15378B761EB5F663B4B484AAE3" + { + "Name" = "8:TwitchLib.Client.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:TwitchLib.Client.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0EDF5BB84677446CB681CF9F4356105C" + { + "SourcePath" = "8:..\\bin\\Debug\\lua54.dll" + "TargetName" = "8:lua54.dll" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_43729DFFE57A0B01A5D24E0530E8ABDC" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:TwitchLib.Client.Enums, Version=3.1.4.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_43729DFFE57A0B01A5D24E0530E8ABDC" + { + "Name" = "8:TwitchLib.Client.Enums.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:TwitchLib.Client.Enums.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_4522A82521F0F0A1C35BCA4A597D7678" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:NAudio, Version=1.10.0.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_4522A82521F0F0A1C35BCA4A597D7678" + { + "Name" = "8:NAudio.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:NAudio.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_4E2F95948163BA13E6FD07D182D2C31A" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:TRUE" + "AssemblyAsmDisplayName" = "8:System.Diagnostics.Tracing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_4E2F95948163BA13E6FD07D182D2C31A" + { + "Name" = "8:System.Diagnostics.Tracing.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:System.Diagnostics.Tracing.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_52537FC21AAB97010AC371B7267EA2DA" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_52537FC21AAB97010AC371B7267EA2DA" + { + "Name" = "8:System.Runtime.CompilerServices.Unsafe.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:System.Runtime.CompilerServices.Unsafe.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_57E4DDEEBBE87D0D5390757CD5F22E40" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:Microsoft.Bcl.AsyncInterfaces, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_57E4DDEEBBE87D0D5390757CD5F22E40" + { + "Name" = "8:Microsoft.Bcl.AsyncInterfaces.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:Microsoft.Bcl.AsyncInterfaces.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_68673912A339F055E44D6866CA4F2228" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" + "ScatterAssemblies" + { + "_68673912A339F055E44D6866CA4F2228" + { + "Name" = "8:netstandard.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:netstandard.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6ABDE59550DEAD80D9131EE321A5B031" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:YamlDotNet, Version=5.0.0.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_6ABDE59550DEAD80D9131EE321A5B031" + { + "Name" = "8:YamlDotNet.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:YamlDotNet.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6F80C6829CCA085483C505DB3C48BFA9" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_6F80C6829CCA085483C505DB3C48BFA9" + { + "Name" = "8:System.Threading.Tasks.Extensions.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:System.Threading.Tasks.Extensions.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_75DF5301B7848A5B4E79C635B405B1C1" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:TRUE" + "AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_75DF5301B7848A5B4E79C635B405B1C1" + { + "Name" = "8:System.Net.Http.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:System.Net.Http.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_860742E32EB5AF9BF70010D9359F9717" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:Microsoft.Extensions.DependencyInjection, Version=5.0.0.1, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_860742E32EB5AF9BF70010D9359F9717" + { + "Name" = "8:Microsoft.Extensions.DependencyInjection.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:Microsoft.Extensions.DependencyInjection.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_92F93CA46358EA21CDFBC2F57C69A08A" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:TwitchLib.Communication, Version=1.0.3.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_92F93CA46358EA21CDFBC2F57C69A08A" + { + "Name" = "8:TwitchLib.Communication.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:TwitchLib.Communication.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_9FE1ED6F5236C59C64BE2296EB834EA2" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:Microsoft.Extensions.Logging.Abstractions, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_9FE1ED6F5236C59C64BE2296EB834EA2" + { + "Name" = "8:Microsoft.Extensions.Logging.Abstractions.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:Microsoft.Extensions.Logging.Abstractions.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_A20CF45D2949C346FE9F444EAAFEB264" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:TRUE" + "AssemblyAsmDisplayName" = "8:System.IO.Compression, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_A20CF45D2949C346FE9F444EAAFEB264" + { + "Name" = "8:System.IO.Compression.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:System.IO.Compression.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B99DA0E367F587494B49BA1371150FC6" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:KeraLua, Version=1.2.11.0, Culture=neutral, PublicKeyToken=6a194c04b9c89217, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_B99DA0E367F587494B49BA1371150FC6" + { + "Name" = "8:KeraLua.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:KeraLua.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D029BF6CFF42147546AB1F810FF57CEA" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:NLua, Version=1.5.6.0, Culture=neutral, PublicKeyToken=6a194c04b9c89217, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_D029BF6CFF42147546AB1F810FF57CEA" + { + "Name" = "8:NLua.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:NLua.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D1CBDD1BF0E9297B8E0F8E483F4CF4DA" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:TRUE" + "AssemblyAsmDisplayName" = "8:System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_D1CBDD1BF0E9297B8E0F8E483F4CF4DA" + { + "Name" = "8:System.IO.Compression.FileSystem.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:System.IO.Compression.FileSystem.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DAF8F4ACE43B1D6D56206E3B9FF126FF" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:Microsoft.Extensions.DependencyInjection.Abstractions, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_DAF8F4ACE43B1D6D56206E3B9FF126FF" + { + "Name" = "8:Microsoft.Extensions.DependencyInjection.Abstractions.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:Microsoft.Extensions.DependencyInjection.Abstractions.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E2CB5AB0D851E5FE77BB5163BEDB1476" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" + "ScatterAssemblies" + { + "_E2CB5AB0D851E5FE77BB5163BEDB1476" + { + "Name" = "8:System.Net.Http.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:System.Net.Http.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EA0E7CA235496C86828CF80EDC33F3CD" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:TwitchLib.Client.Models, Version=3.1.5.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_EA0E7CA235496C86828CF80EDC33F3CD" + { + "Name" = "8:TwitchLib.Client.Models.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:TwitchLib.Client.Models.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + } + "FileType" + { + } + "Folder" + { + "{3C67513D-01DD-4637-8A68-80971EB9504F}:_83879F9CA7B34067BDE4E9E1DA509978" + { + "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]" + "Name" = "8:#1925" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:TARGETDIR" + "Folders" + { + } + } + "{1525181F-901A-416C-8A58-119130FE478E}:_C74F80BFA18849FE980FF12FE18803CF" + { + "Name" = "8:#1919" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:ProgramMenuFolder" + "Folders" + { + "{9EF0B969-E518-4E46-987F-47570745A589}:_526FE04CDD2C4D0193C5442EAE197356" + { + "Name" = "8:Slipstream" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:_795AA7DCC81B41AE86B723E85590B88A" + "Folders" + { + } + } + } + } + "{1525181F-901A-416C-8A58-119130FE478E}:_DBE9ECC0BE084B6590201BD7E24724BB" + { + "Name" = "8:#1916" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:DesktopFolder" + "Folders" + { + } + } + } + "LaunchCondition" + { + } + "Locator" + { + } + "MsiBootstrapper" + { + "LangId" = "3:1033" + "RequiresElevation" = "11:FALSE" + } + "Product" + { + "Name" = "8:Microsoft Visual Studio" + "ProductName" = "8:Slipstream" + "ProductCode" = "8:{3DFA6E3C-33DF-4ADF-8315-07A89BCF9FFE}" + "PackageCode" = "8:{C8270027-B8CF-4907-8A04-73E05215FAC5}" + "UpgradeCode" = "8:{618D03E1-763B-4AAC-8518-AD4C51701358}" + "AspNetVersion" = "8:2.0.50727.0" + "RestartWWWService" = "11:FALSE" + "RemovePreviousVersions" = "11:FALSE" + "DetectNewerInstalledVersion" = "11:TRUE" + "InstallAllUsers" = "11:FALSE" + "ProductVersion" = "8:0.1.0" + "Manufacturer" = "8:Slipstream" + "ARPHELPTELEPHONE" = "8:" + "ARPHELPLINK" = "8:" + "Title" = "8:Slipstream" + "Subject" = "8:" + "ARPCONTACT" = "8:Dennis Møllegaard Pedersen" + "Keywords" = "8:" + "ARPCOMMENTS" = "8:" + "ARPURLINFOABOUT" = "8:" + "ARPPRODUCTICON" = "8:" + "ARPIconIndex" = "3:0" + "SearchPath" = "8:" + "UseSystemSearchPath" = "11:TRUE" + "TargetPlatform" = "3:0" + "PreBuildEvent" = "8:" + "PostBuildEvent" = "8:" + "RunPostBuildEvent" = "3:0" + } + "Registry" + { + "HKLM" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_581344F4E153424B919552FFB0EBBD81" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_A9528EC285184DF780EACD5006B165CF" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCU" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_31CD651AA7AE4D03AD05F932ED0EAC9E" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_2BC6E1D3EFAA4E98947540A3CA6A095B" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCR" + { + "Keys" + { + } + } + "HKU" + { + "Keys" + { + } + } + "HKPU" + { + "Keys" + { + } + } + } + "Sequences" + { + } + "Shortcut" + { + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_C6CB4D641B2D40E39293372DBC4A2B9D" + { + "Name" = "8:Slipstream" + "Arguments" = "8:" + "Description" = "8:" + "ShowCmd" = "3:1" + "IconIndex" = "3:0" + "Transitive" = "11:FALSE" + "Target" = "8:_F20D31115C3D467D883E7E1A7BC89ECE" + "Folder" = "8:_526FE04CDD2C4D0193C5442EAE197356" + "WorkingFolder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Icon" = "8:" + "Feature" = "8:" + } + } + "UserInterface" + { + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_250FE4B3E6184772BE2E83979DBFC16A" + { + "Name" = "8:#1902" + "Sequence" = "3:2" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3D29323AEC8A44A78E35BF4C7464CFE9" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_4D86A6AE1AD14A7CB9F23FA14CFA1011" + { + "Name" = "8:#1900" + "Sequence" = "3:1" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_06E2F6E3BCE74098B77FD586C5D85C07" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_48A8DD8AC4CF4D4981455C69F85222F6" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "InstallAllUsersVisible" + { + "Name" = "8:InstallAllUsersVisible" + "DisplayName" = "8:#1059" + "Description" = "8:#1159" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_68D392EAA7C24D1484303CFBD9680856" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_54099D8BF42343788687405BD90F5069" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdBasicDialogs.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_5C305089F7C64E45B96E60E99D30C86F" + { + "Name" = "8:#1901" + "Sequence" = "3:2" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_349B40A545354BCF9587A2DF16B6CDEB" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_6BAD7ABD03814A37B5A8BCF9E26CD088" + { + "Name" = "8:#1901" + "Sequence" = "3:1" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_59F56489BC664962B578FC046AAE1832" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_7D6E51C9B64249B589CA81D1A6779002" + { + "Name" = "8:#1900" + "Sequence" = "3:2" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_050A237ACFCF4D98A3D8B22BB4EB7658" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E5381BECA68146629BA209EB6ED57D7C" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F4FB02D829EC432EB58758A14218BF1F" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_9126804FD3384AA8B14AF959C8D989B4" + { + "Name" = "8:#1902" + "Sequence" = "3:1" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9ACAB1B87EF34689A944A85788AD580A" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "UpdateText" + { + "Name" = "8:UpdateText" + "DisplayName" = "8:#1058" + "Description" = "8:#1158" + "Type" = "3:15" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1258" + "DefaultValue" = "8:#1258" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_DF7D81A5DBA442CD840F1E1C75E167E2" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdUserInterface.wim" + } + } + "MergeModule" + { + } + "ProjectOutput" + { + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_F20D31115C3D467D883E7E1A7BC89ECE" + { + "SourcePath" = "8:..\\obj\\Debug\\Slipstream.exe" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_83879F9CA7B34067BDE4E9E1DA509978" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{E5742D4E-121B-4C6F-8133-C63BCE6600BC}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + } + } +} diff --git a/Shared/ApplicationVersionService.cs b/Shared/ApplicationVersionService.cs new file mode 100644 index 00000000..79752836 --- /dev/null +++ b/Shared/ApplicationVersionService.cs @@ -0,0 +1,12 @@ +using System.Reflection; + +namespace Slipstream.Shared +{ + class ApplicationVersionService : IApplicationVersionService + { + public string Version => Assembly + .GetEntryAssembly() + .GetCustomAttribute() + .InformationalVersion; + } +} diff --git a/Shared/IApplicationVersionService.cs b/Shared/IApplicationVersionService.cs new file mode 100644 index 00000000..c743fb5a --- /dev/null +++ b/Shared/IApplicationVersionService.cs @@ -0,0 +1,7 @@ +namespace Slipstream.Shared +{ + public interface IApplicationVersionService + { + string Version { get; } + } +} diff --git a/Slipstream.csproj b/Slipstream.csproj index 751071b0..6be9a800 100644 --- a/Slipstream.csproj +++ b/Slipstream.csproj @@ -15,6 +15,8 @@ enable 8.0 false + + publish\ true Disk @@ -29,8 +31,6 @@ 1.0.0.%2a false true - - AnyCPU @@ -124,6 +124,7 @@ SettingsForm.cs + @@ -163,6 +164,7 @@ + diff --git a/Slipstream.sln b/Slipstream.sln index 253a7ff9..15b9e0c5 100644 --- a/Slipstream.sln +++ b/Slipstream.sln @@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Slipstream", "Slipstream.cs EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iRacingSDK", "iRacingSDK.Net\iRacingSDK.csproj", "{5422AE20-F220-4BE1-9E61-5296981ABB5C}" EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Setup", "Setup\Setup.vdproj", "{A05BF89E-99D3-42B3-9AAF-0D6240EC572D}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -21,6 +23,8 @@ Global {5422AE20-F220-4BE1-9E61-5296981ABB5C}.Debug|Any CPU.Build.0 = Debug|Any CPU {5422AE20-F220-4BE1-9E61-5296981ABB5C}.Release|Any CPU.ActiveCfg = Release|Any CPU {5422AE20-F220-4BE1-9E61-5296981ABB5C}.Release|Any CPU.Build.0 = Release|Any CPU + {A05BF89E-99D3-42B3-9AAF-0D6240EC572D}.Debug|Any CPU.ActiveCfg = Debug + {A05BF89E-99D3-42B3-9AAF-0D6240EC572D}.Release|Any CPU.ActiveCfg = Release EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE