diff --git a/Wabbajack.App.Blazor/Wabbajack.App.Blazor.csproj b/Wabbajack.App.Blazor/Wabbajack.App.Blazor.csproj
index 9e7cb294..a43206c7 100644
--- a/Wabbajack.App.Blazor/Wabbajack.App.Blazor.csproj
+++ b/Wabbajack.App.Blazor/Wabbajack.App.Blazor.csproj
@@ -16,21 +16,21 @@
-
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
diff --git a/Wabbajack.App.Wpf/Wabbajack.App.Wpf.csproj b/Wabbajack.App.Wpf/Wabbajack.App.Wpf.csproj
index 004ea6af..9756c01d 100644
--- a/Wabbajack.App.Wpf/Wabbajack.App.Wpf.csproj
+++ b/Wabbajack.App.Wpf/Wabbajack.App.Wpf.csproj
@@ -60,12 +60,12 @@
-
+
NU1701
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
@@ -79,11 +79,11 @@
-
+
-
-
-
+
+
+
diff --git a/Wabbajack.CLI/Wabbajack.CLI.csproj b/Wabbajack.CLI/Wabbajack.CLI.csproj
index 5b22d99e..791f8933 100644
--- a/Wabbajack.CLI/Wabbajack.CLI.csproj
+++ b/Wabbajack.CLI/Wabbajack.CLI.csproj
@@ -18,9 +18,9 @@
-
-
-
+
+
+
diff --git a/Wabbajack.Downloaders.Bethesda/Wabbajack.Downloaders.Bethesda.csproj b/Wabbajack.Downloaders.Bethesda/Wabbajack.Downloaders.Bethesda.csproj
index 8126cfb1..9eb3b4a9 100644
--- a/Wabbajack.Downloaders.Bethesda/Wabbajack.Downloaders.Bethesda.csproj
+++ b/Wabbajack.Downloaders.Bethesda/Wabbajack.Downloaders.Bethesda.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/Wabbajack.Downloaders.GoogleDrive/Wabbajack.Downloaders.GoogleDrive.csproj b/Wabbajack.Downloaders.GoogleDrive/Wabbajack.Downloaders.GoogleDrive.csproj
index 824784e5..9b0f1109 100644
--- a/Wabbajack.Downloaders.GoogleDrive/Wabbajack.Downloaders.GoogleDrive.csproj
+++ b/Wabbajack.Downloaders.GoogleDrive/Wabbajack.Downloaders.GoogleDrive.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/Wabbajack.Downloaders.MediaFire/Wabbajack.Downloaders.MediaFire.csproj b/Wabbajack.Downloaders.MediaFire/Wabbajack.Downloaders.MediaFire.csproj
index 722c0ecd..99c2e5f8 100644
--- a/Wabbajack.Downloaders.MediaFire/Wabbajack.Downloaders.MediaFire.csproj
+++ b/Wabbajack.Downloaders.MediaFire/Wabbajack.Downloaders.MediaFire.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/Wabbajack.Downloaders.ModDB/Wabbajack.Downloaders.ModDB.csproj b/Wabbajack.Downloaders.ModDB/Wabbajack.Downloaders.ModDB.csproj
index 8faa9448..f2edf311 100644
--- a/Wabbajack.Downloaders.ModDB/Wabbajack.Downloaders.ModDB.csproj
+++ b/Wabbajack.Downloaders.ModDB/Wabbajack.Downloaders.ModDB.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/Wabbajack.Hashing.PHash.Test/Wabbajack.Hashing.PHash.Test.csproj b/Wabbajack.Hashing.PHash.Test/Wabbajack.Hashing.PHash.Test.csproj
index 8d7b5215..e498454f 100644
--- a/Wabbajack.Hashing.PHash.Test/Wabbajack.Hashing.PHash.Test.csproj
+++ b/Wabbajack.Hashing.PHash.Test/Wabbajack.Hashing.PHash.Test.csproj
@@ -9,7 +9,7 @@
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/Wabbajack.Launcher/ViewModels/MainWindowViewModel.cs b/Wabbajack.Launcher/ViewModels/MainWindowViewModel.cs
index f394629c..c57c81e6 100644
--- a/Wabbajack.Launcher/ViewModels/MainWindowViewModel.cs
+++ b/Wabbajack.Launcher/ViewModels/MainWindowViewModel.cs
@@ -46,6 +46,8 @@ public class MainWindowViewModel : ViewModelBase
private async Task CheckForUpdates()
{
+ await VerifyCurrentLocation();
+
_client.Headers.Add("user-agent", "Wabbajack Launcher");
Status = "Selecting Release";
@@ -168,6 +170,21 @@ public class MainWindowViewModel : ViewModelBase
}
}
+ private async Task VerifyCurrentLocation()
+ {
+ var entryPoint = KnownFolders.EntryPoint;
+ if (entryPoint.FileName == "Desktop".ToRelativePath()
+ || entryPoint.Depth <= 1
+ || entryPoint.FileName == "Downloads".ToRelativePath())
+ {
+ var msg = MessageBox.Avalonia.MessageBoxManager
+ .GetMessageBoxStandardWindow("Bad Download Path",
+ "Cannot start in the root, Downloads or Desktop folders.");
+ var result = await msg.Show();
+ Environment.Exit(1);
+ }
+ }
+
private async Task FinishAndExit()
{
try
diff --git a/Wabbajack.Launcher/Wabbajack.Launcher.csproj b/Wabbajack.Launcher/Wabbajack.Launcher.csproj
index d8c24a91..cb21e946 100644
--- a/Wabbajack.Launcher/Wabbajack.Launcher.csproj
+++ b/Wabbajack.Launcher/Wabbajack.Launcher.csproj
@@ -17,12 +17,13 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
+
+
+
+
+
-
+
diff --git a/Wabbajack.Server.Lib/Wabbajack.Server.Lib.csproj b/Wabbajack.Server.Lib/Wabbajack.Server.Lib.csproj
index c1382405..f4669306 100644
--- a/Wabbajack.Server.Lib/Wabbajack.Server.Lib.csproj
+++ b/Wabbajack.Server.Lib/Wabbajack.Server.Lib.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/Wabbajack.Server/Wabbajack.Server.csproj b/Wabbajack.Server/Wabbajack.Server.csproj
index 4e49dd26..26944fbc 100644
--- a/Wabbajack.Server/Wabbajack.Server.csproj
+++ b/Wabbajack.Server/Wabbajack.Server.csproj
@@ -11,11 +11,11 @@
-
-
+
+
-
+
diff --git a/Wabbajack.VFS.Test/Wabbajack.VFS.Test.csproj b/Wabbajack.VFS.Test/Wabbajack.VFS.Test.csproj
index e35ad2c0..49141666 100644
--- a/Wabbajack.VFS.Test/Wabbajack.VFS.Test.csproj
+++ b/Wabbajack.VFS.Test/Wabbajack.VFS.Test.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/Wabbajack.VFS/Wabbajack.VFS.csproj b/Wabbajack.VFS/Wabbajack.VFS.csproj
index 31348691..0c506591 100644
--- a/Wabbajack.VFS/Wabbajack.VFS.csproj
+++ b/Wabbajack.VFS/Wabbajack.VFS.csproj
@@ -9,7 +9,7 @@
-
+