diff --git a/CHANGELOG.md b/CHANGELOG.md index e26acdcf..9adb3dd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,10 +11,11 @@ that is copied directly into a modfile (commonly used for `SSE Terrain Tamriel.e * Fix crash caused by multiple downloads with the same SHA256 * Putting `WABBAJACK_ALWAYS_INCLUDE` on a mod's notes/comments will cause it to always be included in the modlist, even if disabled * All `.json`, `.ini`, and `.yaml` files that contain remappable paths are now inlined and remapped. -* If Wabbajack finds a file called `otherprofiles.txt` inside the compile'd profile's folder. Then that file is assumed +* If Wabbajack finds a file called `otherprofiles.txt` inside the compiled profile's folder. Then that file is assumed to be a list of other profiles to be included in the install. This list should be the name of a profile, one name per line. * Can now set the download folder both during compilation and installation. * Any config files pointing to the download folder are remapped. +* Refuse to run inside `downloads` folders (anti-virus watches these files too closely and it can cause VFS issues) #### Version 0.8.1 - 8/29/2019 * Fixed a bug that was causing VFS temp folders not to be cleaned diff --git a/VirtualFileSystem/VirtualFileSystem.cs b/VirtualFileSystem/VirtualFileSystem.cs index 4e8bb78a..788ad79f 100644 --- a/VirtualFileSystem/VirtualFileSystem.cs +++ b/VirtualFileSystem/VirtualFileSystem.cs @@ -34,6 +34,7 @@ namespace VFS { VFS = new VirtualFileSystem(); RootFolder = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); + _stagedRoot = Path.Combine(RootFolder, "vfs_staged_files"); Utils.OnQueue(() => { diff --git a/Wabbajack/AppState.cs b/Wabbajack/AppState.cs index 1df74784..649dfda4 100644 --- a/Wabbajack/AppState.cs +++ b/Wabbajack/AppState.cs @@ -158,6 +158,17 @@ namespace Wabbajack public AppState(Dispatcher d, String mode) { + if (Assembly.GetEntryAssembly().Location.ToLower().Contains("\\downloads\\")) + { + MessageBox.Show( + "This app seems to be running inside a folder called `Downloads`, such folders are often highly monitored by Antivirus software and they can often" + + "conflict with the operations Wabbajack needs to perform. Please move this executable outside of your `Downloads` folder and then restart the app.", + "Cannot run inside `Downloads`", + MessageBoxButton.OK, + MessageBoxImage.Error); + Environment.Exit(1); + } + _startTime = DateTime.Now; LogFile = Assembly.GetExecutingAssembly().Location + ".log";