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
#### 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
* 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

View File

@ -8,7 +8,7 @@
</PropertyGroup>
<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.runner.console" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />

View File

@ -7,7 +7,7 @@
</PropertyGroup>
<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.runner.console" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />

View File

@ -6,8 +6,8 @@
<AssemblyName>wabbajack-cli</AssemblyName>
<Company>Wabbajack</Company>
<Platforms>x64</Platforms>
<AssemblyVersion>2.4.3.1</AssemblyVersion>
<FileVersion>2.4.3.1</FileVersion>
<AssemblyVersion>2.4.3.2</AssemblyVersion>
<FileVersion>2.4.3.2</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright>
<Description>An automated ModList installer</Description>
<PublishReadyToRun>true</PublishReadyToRun>
@ -19,7 +19,7 @@
<ItemGroup>
<PackageReference Include="CommandLineParser" Version="2.9.0-preview1" />
<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.Linq" Version="5.0.0" />
</ItemGroup>

View File

@ -8,7 +8,7 @@
</PropertyGroup>
<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.runner.console" Version="2.4.1" />
<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)
{
_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)
{
ValidateAbsolutePath();

View File

@ -49,10 +49,10 @@
</ItemGroup>
<ItemGroup>
<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="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="SharpZipLib" Version="1.3.1" />
<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.Security.Cryptography.ProtectedData" 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>
<Compile Update="Serialization\PrimitiveHandlers.cs">

View File

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

View File

@ -73,7 +73,7 @@ namespace Wabbajack.Lib
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}");
var tempPath = launcherFolder.Combine("Wabbajack.exe.temp");

View File

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

View File

@ -7,7 +7,7 @@
</PropertyGroup>
<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.runner.visualstudio" Version="2.4.3" />
<PackageReference Include="XunitContext" Version="3.0.0" />

View File

@ -3,8 +3,8 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0-windows</TargetFramework>
<AssemblyVersion>2.4.3.1</AssemblyVersion>
<FileVersion>2.4.3.1</FileVersion>
<AssemblyVersion>2.4.3.2</AssemblyVersion>
<FileVersion>2.4.3.2</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright>
<Description>Wabbajack Server</Description>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
@ -16,7 +16,7 @@
<ItemGroup>
<PackageReference Include="Dapper" Version="2.0.78" />
<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.Mvc.NewtonsoftJson" Version="5.0.4" />
<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");
}
[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]
public async Task TestCacheFileAreIgnored()
{

View File

@ -30,7 +30,7 @@
<ItemGroup>
<PackageReference Include="CefSharp.Common.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.runner.visualstudio" Version="2.4.3" />
<PackageReference Include="XunitContext" Version="3.0.0" />

View File

@ -8,7 +8,7 @@
</PropertyGroup>
<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.runner.console" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />

View File

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

View File

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

View File

@ -6,8 +6,8 @@
<UseWPF>true</UseWPF>
<Platforms>x64</Platforms>
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
<AssemblyVersion>2.4.3.1</AssemblyVersion>
<FileVersion>2.4.3.1</FileVersion>
<AssemblyVersion>2.4.3.2</AssemblyVersion>
<FileVersion>2.4.3.2</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright>
<Description>An automated ModList installer</Description>
<PublishReadyToRun>true</PublishReadyToRun>
@ -55,12 +55,12 @@
</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.Wpf" Version="88.2.90" />
<PackageReference Include="DynamicData" Version="7.1.1" />
<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>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
@ -74,9 +74,9 @@
<PackageReference Include="Microsoft-WindowsAPICodePack-Shell" Version="1.1.4" />
<PackageReference Include="PInvoke.Gdi32" Version="0.7.104" />
<PackageReference Include="PInvoke.User32" Version="0.7.104" />
<PackageReference Include="ReactiveUI" Version="13.2.2" />
<PackageReference Include="ReactiveUI.Fody" Version="13.2.2" />
<PackageReference Include="ReactiveUI.WPF" Version="13.2.2" />
<PackageReference Include="ReactiveUI" Version="13.2.10" />
<PackageReference Include="ReactiveUI.Fody" Version="13.2.10" />
<PackageReference Include="ReactiveUI.WPF" Version="13.2.10" />
<PackageReference Include="SharpDX.DXGI" Version="4.2.0" />
<PackageReference Include="WPFThemes.DarkBlend" Version="1.0.8" />
</ItemGroup>