Fixes for root path WJ downloads

This commit is contained in:
Timothy Baldridge 2021-04-01 14:52:23 -06:00
parent d22ab2e97d
commit 8fdc9624e3
18 changed files with 88 additions and 32 deletions

View File

@ -1,5 +1,12 @@
### Changelog ### Changelog
#### Version - 2.4.3.2 - 4/1/2021
* Fix for crashing when WJ is installed in the root drive
* Vortex is now the only option for WJ modlists, down with MO2, purge the xenos, praise to the Emperor
* Slightly more stable GoogleDrive link verification
* Updated several dependency libraries
#### Version - 2.4.3.1 - 3/24/2021 #### Version - 2.4.3.1 - 3/24/2021
* HOTFIX : Go back to the non-core version of CEF, .NET Core version was crashing * HOTFIX : Go back to the non-core version of CEF, .NET Core version was crashing
* Folders prefixed with `[NoDelete]` in the name will be ignored when WJ cleans a installed modlist * Folders prefixed with `[NoDelete]` in the name will be ignored when WJ cleans a installed modlist

View File

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.4" />
<PackageReference Include="xunit" Version="2.4.1" /> <PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.console" Version="2.4.1" /> <PackageReference Include="xunit.runner.console" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />

View File

@ -7,7 +7,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.4" />
<PackageReference Include="xunit" Version="2.4.1" /> <PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.console" Version="2.4.1" /> <PackageReference Include="xunit.runner.console" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />

View File

@ -6,8 +6,8 @@
<AssemblyName>wabbajack-cli</AssemblyName> <AssemblyName>wabbajack-cli</AssemblyName>
<Company>Wabbajack</Company> <Company>Wabbajack</Company>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<AssemblyVersion>2.4.3.1</AssemblyVersion> <AssemblyVersion>2.4.3.2</AssemblyVersion>
<FileVersion>2.4.3.1</FileVersion> <FileVersion>2.4.3.2</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright> <Copyright>Copyright © 2019-2020</Copyright>
<Description>An automated ModList installer</Description> <Description>An automated ModList installer</Description>
<PublishReadyToRun>true</PublishReadyToRun> <PublishReadyToRun>true</PublishReadyToRun>
@ -19,7 +19,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="CommandLineParser" Version="2.9.0-preview1" /> <PackageReference Include="CommandLineParser" Version="2.9.0-preview1" />
<PackageReference Include="F23.StringSimilarity" Version="4.0.0" /> <PackageReference Include="F23.StringSimilarity" Version="4.0.0" />
<PackageReference Include="Markdig" Version="0.23.0" /> <PackageReference Include="Markdig" Version="0.24.0" />
<PackageReference Include="System.Reactive" Version="5.0.0" /> <PackageReference Include="System.Reactive" Version="5.0.0" />
<PackageReference Include="System.Reactive.Linq" Version="5.0.0" /> <PackageReference Include="System.Reactive.Linq" Version="5.0.0" />
</ItemGroup> </ItemGroup>

View File

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.4" />
<PackageReference Include="xunit" Version="2.4.1" /> <PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.console" Version="2.4.1" /> <PackageReference Include="xunit.runner.console" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />

View File

@ -48,7 +48,15 @@ namespace Wabbajack.Common
public AbsolutePath(string path, bool skipValidation = false) public AbsolutePath(string path, bool skipValidation = false)
{ {
_nullable_path = path.Replace("/", "\\").TrimEnd('\\'); if (path.Length == 3 && path[1] == ':' && (path[2] == '\\' || path[2] == '/'))
{
_nullable_path = path.Substring(0, 2) + '\\';
}
else
{
_nullable_path = path.Replace("/", "\\").TrimEnd('\\');
}
if (!skipValidation) if (!skipValidation)
{ {
ValidateAbsolutePath(); ValidateAbsolutePath();

View File

@ -49,10 +49,10 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Genbox.AlphaFS" Version="2.2.2.1" /> <PackageReference Include="Genbox.AlphaFS" Version="2.2.2.1" />
<PackageReference Include="HtmlAgilityPack" Version="1.11.31" /> <PackageReference Include="HtmlAgilityPack" Version="1.11.32" />
<PackageReference Include="ini-parser-netstandard" Version="2.5.2" /> <PackageReference Include="ini-parser-netstandard" Version="2.5.2" />
<PackageReference Include="Microsoft.Win32.Registry" Version="5.0.0" /> <PackageReference Include="Microsoft.Win32.Registry" Version="5.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="Octodiff" Version="1.2.1" /> <PackageReference Include="Octodiff" Version="1.2.1" />
<PackageReference Include="SharpZipLib" Version="1.3.1" /> <PackageReference Include="SharpZipLib" Version="1.3.1" />
<PackageReference Include="System.Data.HashFunction.xxHash" Version="2.0.0" /> <PackageReference Include="System.Data.HashFunction.xxHash" Version="2.0.0" />
@ -62,7 +62,7 @@
<PackageReference Include="System.Reactive" Version="5.0.0" /> <PackageReference Include="System.Reactive" Version="5.0.0" />
<PackageReference Include="System.Security.Cryptography.ProtectedData" Version="5.0.0" /> <PackageReference Include="System.Security.Cryptography.ProtectedData" Version="5.0.0" />
<PackageReference Include="System.Security.Principal.Windows" Version="5.0.0" /> <PackageReference Include="System.Security.Principal.Windows" Version="5.0.0" />
<PackageReference Include="YamlDotNet" Version="9.1.4" /> <PackageReference Include="YamlDotNet" Version="11.0.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Update="Serialization\PrimitiveHandlers.cs"> <Compile Update="Serialization\PrimitiveHandlers.cs">

View File

@ -4,8 +4,8 @@
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<TargetFramework>net5.0-windows</TargetFramework> <TargetFramework>net5.0-windows</TargetFramework>
<UseWPF>true</UseWPF> <UseWPF>true</UseWPF>
<AssemblyVersion>2.4.3.1</AssemblyVersion> <AssemblyVersion>2.4.3.2</AssemblyVersion>
<FileVersion>2.4.3.1</FileVersion> <FileVersion>2.4.3.2</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright> <Copyright>Copyright © 2019-2020</Copyright>
<Description>Wabbajack Application Launcher</Description> <Description>Wabbajack Application Launcher</Description>
<PublishReadyToRun>true</PublishReadyToRun> <PublishReadyToRun>true</PublishReadyToRun>
@ -28,7 +28,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -73,7 +73,7 @@ namespace Wabbajack.Lib
var launcherVersion = FileVersionInfo.GetVersionInfo(exePath.ToString()); var launcherVersion = FileVersionInfo.GetVersionInfo(exePath.ToString());
if (release != default && launcherVersion != null && release.version > Version.Parse(launcherVersion.FileVersion!)) if (release != default && release.version > Version.Parse(launcherVersion.FileVersion!))
{ {
Utils.Log($"Updating Launcher from {launcherVersion.FileVersion} to {release.version}"); Utils.Log($"Updating Launcher from {launcherVersion.FileVersion} to {release.version}");
var tempPath = launcherFolder.Combine("Wabbajack.exe.temp"); var tempPath = launcherFolder.Combine("Wabbajack.exe.temp");

View File

@ -17,7 +17,7 @@
<Version>4.0.0</Version> <Version>4.0.0</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Fody"> <PackageReference Include="Fody">
<Version>6.4.0</Version> <Version>6.5.0</Version>
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>
@ -25,10 +25,10 @@
<Version>2.2.2.1</Version> <Version>2.2.2.1</Version>
</PackageReference> </PackageReference>
<PackageReference Include="HtmlAgilityPack"> <PackageReference Include="HtmlAgilityPack">
<Version>1.11.31</Version> <Version>1.11.32</Version>
</PackageReference> </PackageReference>
<PackageReference Include="MegaApiClient"> <PackageReference Include="MegaApiClient">
<Version>1.8.2</Version> <Version>1.9.0</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.CSharp"> <PackageReference Include="Microsoft.CSharp">
<Version>4.7.0</Version> <Version>4.7.0</Version>
@ -37,10 +37,10 @@
<Version>2.1.1</Version> <Version>2.1.1</Version>
</PackageReference> </PackageReference>
<PackageReference Include="ReactiveUI"> <PackageReference Include="ReactiveUI">
<Version>13.2.2</Version> <Version>13.2.10</Version>
</PackageReference> </PackageReference>
<PackageReference Include="ReactiveUI.Fody"> <PackageReference Include="ReactiveUI.Fody">
<Version>13.2.2</Version> <Version>13.2.10</Version>
</PackageReference> </PackageReference>
<PackageReference Include="SharpCompress"> <PackageReference Include="SharpCompress">
<Version>0.28.1</Version> <Version>0.28.1</Version>

View File

@ -7,7 +7,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.4" />
<PackageReference Include="xunit" Version="2.4.1" /> <PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />
<PackageReference Include="XunitContext" Version="3.0.0" /> <PackageReference Include="XunitContext" Version="3.0.0" />

View File

@ -3,8 +3,8 @@
<PropertyGroup> <PropertyGroup>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<TargetFramework>net5.0-windows</TargetFramework> <TargetFramework>net5.0-windows</TargetFramework>
<AssemblyVersion>2.4.3.1</AssemblyVersion> <AssemblyVersion>2.4.3.2</AssemblyVersion>
<FileVersion>2.4.3.1</FileVersion> <FileVersion>2.4.3.2</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright> <Copyright>Copyright © 2019-2020</Copyright>
<Description>Wabbajack Server</Description> <Description>Wabbajack Server</Description>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
@ -16,7 +16,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Dapper" Version="2.0.78" /> <PackageReference Include="Dapper" Version="2.0.78" />
<PackageReference Include="Discord.Net.WebSocket" Version="2.3.1" /> <PackageReference Include="Discord.Net.WebSocket" Version="2.3.1" />
<PackageReference Include="FluentFTP" Version="33.0.3" /> <PackageReference Include="FluentFTP" Version="33.1.4" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.Core" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.Core" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.4" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.4" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" />

View File

@ -42,6 +42,45 @@ namespace Wabbajack.Test
await utils.VerifyInstalledFile(mod, @"Data\scripts\test.pex"); await utils.VerifyInstalledFile(mod, @"Data\scripts\test.pex");
} }
[Fact]
public async Task TestFilesAreRemappedDuringInstallation()
{
var profile = utils.AddProfile();
var mod = await utils.AddMod();
var testPex = await utils.AddModFile(mod, @"Data\scripts\test.pex", 10);
var src = @"Resources\test_ini01.ini".RelativeTo(AbsolutePath.EntryPoint);
var srcIniData = await src.ReadAllTextAsync();
var inMod = await utils.AddModFile(mod, "test.ini", 1);
await src.CopyToAsync(inMod);
var inMO2Folder = utils.SourcePath.Combine("some_tool", "config.ini");
inMO2Folder.Parent.CreateDirectory();
await src.CopyToAsync(inMO2Folder);
await utils.Configure();
await utils.AddManualDownload(
new Dictionary<string, byte[]> {{"/baz/biz.pex", await testPex.ReadAllBytesAsync()}});
await CompileAndInstall(profile);
await utils.VerifyInstalledFile(mod, @"Data\scripts\test.pex");
var location = inMO2Folder.RelativeTo(utils.SourcePath).RelativeTo(utils.InstallPath);
Assert.True(location.Exists, "The file should be installed");
var remappedData = await location.ReadAllTextAsync();
Assert.NotEqual(srcIniData, remappedData);
var location2 = inMod.RelativeTo(utils.SourcePath).RelativeTo(utils.InstallPath);
Assert.True(location.Exists, "The file should be installed");
var remappedData2 = await location2.ReadAllTextAsync();
Assert.NotEqual(srcIniData, remappedData2);
}
[Fact] [Fact]
public async Task TestCacheFileAreIgnored() public async Task TestCacheFileAreIgnored()
{ {

View File

@ -30,7 +30,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="CefSharp.Common.NETCore" Version="88.2.90" /> <PackageReference Include="CefSharp.Common.NETCore" Version="88.2.90" />
<PackageReference Include="CefSharp.OffScreen.NETCore" Version="88.2.90" /> <PackageReference Include="CefSharp.OffScreen.NETCore" Version="88.2.90" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.4" />
<PackageReference Include="xunit" Version="2.4.1" /> <PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />
<PackageReference Include="XunitContext" Version="3.0.0" /> <PackageReference Include="XunitContext" Version="3.0.0" />

View File

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.4" />
<PackageReference Include="xunit" Version="2.4.1" /> <PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.console" Version="2.4.1" /> <PackageReference Include="xunit.runner.console" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />

View File

@ -13,6 +13,7 @@ namespace Wabbajack
public App() public App()
{ {
Consts.LogsFolder = LauncherUpdater.CommonFolder.Value.Combine("logs"); Consts.LogsFolder = LauncherUpdater.CommonFolder.Value.Combine("logs");
Consts.LogsFolder.CreateDirectory();
LoggingSettings.LogToFile = true; LoggingSettings.LogToFile = true;
Utils.InitalizeLogging().Wait(); Utils.InitalizeLogging().Wait();

View File

@ -125,6 +125,7 @@ namespace Wabbajack
Utils.Log($"Wabbajack Version: {fvi.FileVersion}"); Utils.Log($"Wabbajack Version: {fvi.FileVersion}");
Task.Run(() => Metrics.Send("started_wabbajack", fvi.FileVersion)).FireAndForget(); Task.Run(() => Metrics.Send("started_wabbajack", fvi.FileVersion)).FireAndForget();
Task.Run(() => Metrics.Send("started_sha", ThisAssembly.Git.Sha));
} }
catch (Exception ex) catch (Exception ex)
{ {

View File

@ -6,8 +6,8 @@
<UseWPF>true</UseWPF> <UseWPF>true</UseWPF>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<RuntimeIdentifier>win10-x64</RuntimeIdentifier> <RuntimeIdentifier>win10-x64</RuntimeIdentifier>
<AssemblyVersion>2.4.3.1</AssemblyVersion> <AssemblyVersion>2.4.3.2</AssemblyVersion>
<FileVersion>2.4.3.1</FileVersion> <FileVersion>2.4.3.2</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright> <Copyright>Copyright © 2019-2020</Copyright>
<Description>An automated ModList installer</Description> <Description>An automated ModList installer</Description>
<PublishReadyToRun>true</PublishReadyToRun> <PublishReadyToRun>true</PublishReadyToRun>
@ -55,12 +55,12 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="cef.redist.x64" Version="88.2.9" /> <PackageReference Include="cef.redist.x64" Version="89.0.14" />
<PackageReference Include="CefSharp.Common" Version="88.2.90" /> <PackageReference Include="CefSharp.Common" Version="88.2.90" />
<PackageReference Include="CefSharp.Wpf" Version="88.2.90" /> <PackageReference Include="CefSharp.Wpf" Version="88.2.90" />
<PackageReference Include="DynamicData" Version="7.1.1" /> <PackageReference Include="DynamicData" Version="7.1.1" />
<PackageReference Include="Extended.Wpf.Toolkit" Version="4.0.2" /> <PackageReference Include="Extended.Wpf.Toolkit" Version="4.0.2" />
<PackageReference Include="Fody" Version="6.4.0"> <PackageReference Include="Fody" Version="6.5.0">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>
@ -74,9 +74,9 @@
<PackageReference Include="Microsoft-WindowsAPICodePack-Shell" Version="1.1.4" /> <PackageReference Include="Microsoft-WindowsAPICodePack-Shell" Version="1.1.4" />
<PackageReference Include="PInvoke.Gdi32" Version="0.7.104" /> <PackageReference Include="PInvoke.Gdi32" Version="0.7.104" />
<PackageReference Include="PInvoke.User32" Version="0.7.104" /> <PackageReference Include="PInvoke.User32" Version="0.7.104" />
<PackageReference Include="ReactiveUI" Version="13.2.2" /> <PackageReference Include="ReactiveUI" Version="13.2.10" />
<PackageReference Include="ReactiveUI.Fody" Version="13.2.2" /> <PackageReference Include="ReactiveUI.Fody" Version="13.2.10" />
<PackageReference Include="ReactiveUI.WPF" Version="13.2.2" /> <PackageReference Include="ReactiveUI.WPF" Version="13.2.10" />
<PackageReference Include="SharpDX.DXGI" Version="4.2.0" /> <PackageReference Include="SharpDX.DXGI" Version="4.2.0" />
<PackageReference Include="WPFThemes.DarkBlend" Version="1.0.8" /> <PackageReference Include="WPFThemes.DarkBlend" Version="1.0.8" />
</ItemGroup> </ItemGroup>