diff --git a/EnvyUpdate/DashboardPage.xaml b/EnvyUpdate/DashboardPage.xaml
index 3761bf6..546b018 100644
--- a/EnvyUpdate/DashboardPage.xaml
+++ b/EnvyUpdate/DashboardPage.xaml
@@ -77,11 +77,11 @@
-
+
-
+
diff --git a/EnvyUpdate/DashboardPage.xaml.cs b/EnvyUpdate/DashboardPage.xaml.cs
index f6ec952..78258b7 100644
--- a/EnvyUpdate/DashboardPage.xaml.cs
+++ b/EnvyUpdate/DashboardPage.xaml.cs
@@ -112,10 +112,10 @@ namespace EnvyUpdate
switchStudioDriver.IsChecked = false;
}
- if (File.Exists(GlobalVars.exedirectory + "skip.envy"))
+ if (File.Exists(Path.Combine(GlobalVars.saveDirectory,"skip.envy")))
{
Debug.LogToFile("INFO Found version skip config.");
- skippedVer = File.ReadLines(GlobalVars.exedirectory + "skip.envy").First();
+ skippedVer = File.ReadLines(Path.Combine(GlobalVars.saveDirectory, "skip.envy")).First();
}
// This little bool check is necessary for debug fake mode.
@@ -137,9 +137,9 @@ namespace EnvyUpdate
try
{
// disable SD and try with GRD
- if (File.Exists(GlobalVars.exedirectory + "sd.envy"))
+ if (File.Exists(Path.Combine(GlobalVars.saveDirectory, "sd.envy")))
{
- File.Delete(GlobalVars.exedirectory + "sd.envy");
+ File.Delete(Path.Combine(GlobalVars.saveDirectory, "sd.envy"));
}
gpuURL = Util.GetGpuUrl(); //try again with GRD
@@ -226,15 +226,15 @@ namespace EnvyUpdate
{
Debug.LogToFile("INFO Skipped version is surpassed, deleting setting.");
skippedVer = null;
- if (File.Exists(GlobalVars.exedirectory + "skip.envy"))
- File.Delete(GlobalVars.exedirectory + "skip.envy");
+ if (File.Exists(Path.Combine(GlobalVars.saveDirectory, "skip.envy")))
+ File.Delete(Path.Combine(GlobalVars.saveDirectory, "skip.envy"));
buttonSkipVersion.ToolTip = Properties.Resources.ui_skipversion;
buttonSkipVersion.IsEnabled = true;
buttonSkipVersion.Visibility = Visibility.Visible;
}
// Check if update file already exists and display install button instead
- if (File.Exists(Path.Combine(GlobalVars.exedirectory, onlineDriv + "-nvidia-installer.exe")))
+ if (File.Exists(Path.Combine(GlobalVars.saveDirectory, onlineDriv + "-nvidia-installer.exe")))
{
Debug.LogToFile("INFO Found downloaded driver installer, no need to redownload.");
buttonDownload.Visibility = Visibility.Collapsed;
@@ -244,20 +244,20 @@ namespace EnvyUpdate
private void switchStudioDriver_Unchecked(object sender, RoutedEventArgs e)
{
- if (File.Exists(GlobalVars.exedirectory + "sd.envy"))
+ if (File.Exists(Path.Combine(GlobalVars.saveDirectory, "sd.envy")))
{
Debug.LogToFile("INFO Switching to game ready driver.");
- File.Delete(GlobalVars.exedirectory + "sd.envy");
+ File.Delete(Path.Combine(GlobalVars.saveDirectory, "sd.envy"));
Load();
}
}
private void switchStudioDriver_Checked(object sender, RoutedEventArgs e)
{
- if (!File.Exists(GlobalVars.exedirectory + "sd.envy"))
+ if (!File.Exists(Path.Combine(GlobalVars.saveDirectory, "sd.envy")))
{
Debug.LogToFile("INFO Switching to studio driver.");
- File.Create(GlobalVars.exedirectory + "sd.envy").Close();
+ File.Create(Path.Combine(GlobalVars.saveDirectory, "sd.envy")).Close();
Load();
}
}
@@ -272,7 +272,7 @@ namespace EnvyUpdate
if (switchAutostart.IsChecked == true)
{
Debug.LogToFile("INFO Creating autostart entry.");
- Util.CreateShortcut("EnvyUpdate", Environment.GetFolderPath(Environment.SpecialFolder.Startup), GlobalVars.exeloc, "NVidia Update Checker", "/minimize");
+ Util.CreateShortcut("EnvyUpdate", Environment.GetFolderPath(Environment.SpecialFolder.Startup), GlobalVars.pathToAppExe, "NVidia Update Checker", "/minimize");
}
}
@@ -280,7 +280,7 @@ namespace EnvyUpdate
{
Debug.LogToFile("INFO Skipping version.");
skippedVer = onlineDriv;
- File.WriteAllText(GlobalVars.exedirectory + "skip.envy", onlineDriv);
+ File.WriteAllText(Path.Combine(GlobalVars.saveDirectory, "skip.envy"), onlineDriv);
buttonSkipVersion.IsEnabled = false;
buttonSkipVersion.ToolTip = Properties.Resources.ui_skipped;
MessageBox.Show(Properties.Resources.skip_confirm);
@@ -343,10 +343,10 @@ namespace EnvyUpdate
progressbarDownload.Visibility = Visibility.Visible;
buttonDownload.IsEnabled = false;
- if (File.Exists(Path.Combine(GlobalVars.exedirectory, onlineDriv + "-nvidia-installer.exe.downloading")))
+ if (File.Exists(Path.Combine(GlobalVars.saveDirectory, onlineDriv + "-nvidia-installer.exe.downloading")))
{
Debug.LogToFile("WARN Found previous unfinished download, retrying.");
- File.Delete(Path.Combine(GlobalVars.exedirectory, onlineDriv + "-nvidia-installer.exe.downloading"));
+ File.Delete(Path.Combine(GlobalVars.saveDirectory, onlineDriv + "-nvidia-installer.exe.downloading"));
}
Thread thread = new Thread(() => {
using (WebClient client = new WebClient())
@@ -354,7 +354,7 @@ namespace EnvyUpdate
client.Headers["User-Agent"] = GlobalVars.useragent;
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
- client.DownloadFileAsync(new Uri(Util.GetDirectDownload(gpuURL)), Path.Combine(GlobalVars.exedirectory, onlineDriv + "-nvidia-installer.exe.downloading"));
+ client.DownloadFileAsync(new Uri(Util.GetDirectDownload(gpuURL)), Path.Combine(GlobalVars.saveDirectory, onlineDriv + "-nvidia-installer.exe.downloading"));
}
});
thread.Start();
@@ -385,13 +385,13 @@ namespace EnvyUpdate
buttonInstall.Visibility = Visibility.Visible;
Debug.LogToFile("INFO Download successful.");
}));
- if (File.Exists(Path.Combine(GlobalVars.exedirectory, onlineDriv + "-nvidia-installer.exe")))
- File.Delete(Path.Combine(GlobalVars.exedirectory, onlineDriv + "-nvidia-installer.exe"));
- File.Move(Path.Combine(GlobalVars.exedirectory, onlineDriv + "-nvidia-installer.exe.downloading"), Path.Combine(GlobalVars.exedirectory, onlineDriv + "-nvidia-installer.exe"));
+ if (File.Exists(Path.Combine(GlobalVars.saveDirectory, onlineDriv + "-nvidia-installer.exe")))
+ File.Delete(Path.Combine(GlobalVars.saveDirectory, onlineDriv + "-nvidia-installer.exe"));
+ File.Move(Path.Combine(GlobalVars.saveDirectory, onlineDriv + "-nvidia-installer.exe.downloading"), Path.Combine(GlobalVars.saveDirectory, onlineDriv + "-nvidia-installer.exe"));
}
else
{
- File.Delete(Path.Combine(GlobalVars.exedirectory, onlineDriv + "-nvidia-installer.exe.downloading"));
+ File.Delete(Path.Combine(GlobalVars.saveDirectory, onlineDriv + "-nvidia-installer.exe.downloading"));
Application.Current.Dispatcher.Invoke(new Action(() => {
ShowSnackbar(Wpf.Ui.Common.ControlAppearance.Danger, Wpf.Ui.Common.SymbolRegular.ErrorCircle24, Properties.Resources.info_download_error, Properties.Resources.info_download_error_title);
Debug.LogToFile("INFO Download NOT successful. Error: " + e.Error.ToString());
@@ -406,8 +406,8 @@ namespace EnvyUpdate
ShowSnackbar(Wpf.Ui.Common.ControlAppearance.Info, Wpf.Ui.Common.SymbolRegular.FolderZip24, Properties.Resources.info_extracting, Properties.Resources.info_extracting_title);
- string filePath = Path.Combine(GlobalVars.exedirectory, onlineDriv + "-nvidia-installer.exe");
- string destinationDir = Path.Combine(GlobalVars.exedirectory, onlineDriv + "-extracted");
+ string filePath = Path.Combine(GlobalVars.saveDirectory, onlineDriv + "-nvidia-installer.exe");
+ string destinationDir = Path.Combine(GlobalVars.saveDirectory, onlineDriv + "-extracted");
if (!Directory.Exists(destinationDir))
Directory.CreateDirectory(destinationDir);
@@ -430,13 +430,13 @@ namespace EnvyUpdate
private void ExtractionFinished(object sender, EventArgs e)
{
- string extractedPath = Path.Combine(GlobalVars.exedirectory, onlineDriv + "-extracted");
+ string extractedPath = Path.Combine(GlobalVars.saveDirectory, onlineDriv + "-extracted");
Application.Current.Dispatcher.Invoke(new Action(() => {
ShowSnackbar(Wpf.Ui.Common.ControlAppearance.Success, Wpf.Ui.Common.SymbolRegular.FolderZip24, Properties.Resources.info_extract_complete, Properties.Resources.info_extract_complete_title);
}));
Debug.LogToFile("INFO Extraction exited, deleting 7-zip executable.");
- File.Delete(Path.Combine(GlobalVars.exedirectory, "7zr.exe"));
+ File.Delete(Path.Combine(GlobalVars.saveDirectory, "7zr.exe"));
Util.CleanInstallConfig(Path.Combine(extractedPath, "setup.cfg"));
@@ -468,8 +468,8 @@ namespace EnvyUpdate
Debug.LogToFile("INFO Driver setup complete. Cleaning up setup files.");
- File.Delete(Path.Combine(GlobalVars.exedirectory, onlineDriv + "-nvidia-installer.exe"));
- Directory.Delete(Path.Combine(GlobalVars.exedirectory, onlineDriv + "-extracted"), true);
+ File.Delete(Path.Combine(GlobalVars.saveDirectory, onlineDriv + "-nvidia-installer.exe"));
+ Directory.Delete(Path.Combine(GlobalVars.saveDirectory, onlineDriv + "-extracted"), true);
GlobalVars.isInstalling = false;
Application.Current.Dispatcher.Invoke(delegate
{
diff --git a/EnvyUpdate/Debug.cs b/EnvyUpdate/Debug.cs
index 43e54b9..35e6e04 100644
--- a/EnvyUpdate/Debug.cs
+++ b/EnvyUpdate/Debug.cs
@@ -15,9 +15,6 @@ namespace EnvyUpdate
public static bool isVerbose = false;
#endif
-
- public static string debugFile = Path.Combine(GlobalVars.exedirectory, "envyupdate.log");
-
public static int LoadFakeIDs(string idType)
{
/*
@@ -52,7 +49,12 @@ namespace EnvyUpdate
public static void LogToFile(string content)
{
if (isVerbose)
- System.IO.File.AppendAllText(Debug.debugFile, content + "\n");
+ {
+ if (GlobalVars.useAppdata)
+ File.AppendAllText(Path.Combine(GlobalVars.appdata, "envyupdate.log"), content + "\n");
+ else
+ File.AppendAllText(Path.Combine(GlobalVars.directoryOfExe, "envyupdate.log"), content + "\n");
+ }
}
}
}
diff --git a/EnvyUpdate/GlobalVars.cs b/EnvyUpdate/GlobalVars.cs
index e9dfd32..e830039 100644
--- a/EnvyUpdate/GlobalVars.cs
+++ b/EnvyUpdate/GlobalVars.cs
@@ -6,14 +6,18 @@ namespace EnvyUpdate
class GlobalVars
{
public static bool isMobile = false;
- public static readonly string exeloc = System.Reflection.Assembly.GetEntryAssembly().Location;
- public static readonly string exedirectory = Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) + "\\";
+ public static readonly string pathToAppExe = System.Reflection.Assembly.GetEntryAssembly().Location;
+ public static readonly string directoryOfExe = Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);
+ public static string saveDirectory = directoryOfExe;
public static readonly string startmenu = Environment.GetFolderPath(Environment.SpecialFolder.StartMenu);
- public static readonly string appdata = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\envyupdate\\";
+ public static readonly string legacyAppdata = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\envyupdate\\";
+ public static readonly string appdata = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "EnvyUpdate_Data");
public static readonly string startup = Environment.GetFolderPath(Environment.SpecialFolder.Startup);
public static bool monitoringInstall = false;
public static bool startMinimized = false;
public static bool isInstalling = false;
public static readonly string useragent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:115.0) Gecko/20100101 Firefox/115.0";
+ public static bool useAppdata = false;
+ public static bool hasWrite = true;
}
}
diff --git a/EnvyUpdate/MainWindow.xaml.cs b/EnvyUpdate/MainWindow.xaml.cs
index 44b8a6d..51fc08c 100644
--- a/EnvyUpdate/MainWindow.xaml.cs
+++ b/EnvyUpdate/MainWindow.xaml.cs
@@ -28,8 +28,22 @@ namespace EnvyUpdate
// This is necessary, since .NET throws an exception if you check for a non-existant arg.
}
+ if (!Util.HasWritePermissions())
+ {
+ if (!Directory.Exists(GlobalVars.appdata))
+ Directory.CreateDirectory(GlobalVars.appdata);
+
+ GlobalVars.hasWrite = false;
+ }
+
+ if (Directory.Exists(GlobalVars.appdata))
+ {
+ GlobalVars.useAppdata = true;
+ GlobalVars.saveDirectory = GlobalVars.appdata;
+ }
+
// Check if Debug file exists
- if (File.Exists(Path.Combine(GlobalVars.exedirectory, "envyupdate.log")))
+ if (File.Exists(Path.Combine(GlobalVars.saveDirectory, "envyupdate.log")))
{
Debug.isVerbose = true;
Debug.LogToFile("------");
@@ -37,6 +51,7 @@ namespace EnvyUpdate
}
Debug.LogToFile("INFO Starting EnvyUpdate, version " + System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).FileVersion);
+ Debug.LogToFile("INFO Save directory: " + GlobalVars.saveDirectory);
// Check if running on supported Windows version.
if (Environment.OSVersion.Version.Major < 10)
@@ -60,9 +75,9 @@ namespace EnvyUpdate
SystemEvents.UserPreferenceChanged += AdjustTheme;
// Delete installed legacy versions, required for people upgrading from very old versions.
- if (Directory.Exists(GlobalVars.appdata))
+ if (Directory.Exists(GlobalVars.legacyAppdata))
{
- Debug.LogToFile("INFO Found old appdata installation, uninstalling.");
+ Debug.LogToFile("INFO Found legacy appdata installation, uninstalling.");
Util.UninstallAll();
}
diff --git a/EnvyUpdate/Properties/Resources.Designer.cs b/EnvyUpdate/Properties/Resources.Designer.cs
index a22ae7c..4f80cf9 100644
--- a/EnvyUpdate/Properties/Resources.Designer.cs
+++ b/EnvyUpdate/Properties/Resources.Designer.cs
@@ -258,6 +258,15 @@ namespace EnvyUpdate.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Save files to AppData.
+ ///
+ public static string ui_enable_appdata {
+ get {
+ return ResourceManager.GetString("ui_enable_appdata", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Enable logging to file.
///
diff --git a/EnvyUpdate/Properties/Resources.de.resx b/EnvyUpdate/Properties/Resources.de.resx
index cb58d0d..40102a4 100644
--- a/EnvyUpdate/Properties/Resources.de.resx
+++ b/EnvyUpdate/Properties/Resources.de.resx
@@ -183,6 +183,9 @@
Herunterladen
+
+ Programmdaten in AppData speichern
+
Programm-Log in Datei schreiben
diff --git a/EnvyUpdate/Properties/Resources.resx b/EnvyUpdate/Properties/Resources.resx
index f9f99e7..3780249 100644
--- a/EnvyUpdate/Properties/Resources.resx
+++ b/EnvyUpdate/Properties/Resources.resx
@@ -183,6 +183,9 @@
Download
+
+ Save files to AppData
+
Enable logging to file
diff --git a/EnvyUpdate/SettingsPage.xaml b/EnvyUpdate/SettingsPage.xaml
index 527bd97..f00cd4b 100644
--- a/EnvyUpdate/SettingsPage.xaml
+++ b/EnvyUpdate/SettingsPage.xaml
@@ -15,7 +15,8 @@
-
+
+
@@ -34,8 +35,12 @@
-
-
+
+
+
+
+
+
diff --git a/EnvyUpdate/SettingsPage.xaml.cs b/EnvyUpdate/SettingsPage.xaml.cs
index da4b482..35e33f1 100644
--- a/EnvyUpdate/SettingsPage.xaml.cs
+++ b/EnvyUpdate/SettingsPage.xaml.cs
@@ -21,9 +21,15 @@ namespace EnvyUpdate
if (GlobalVars.monitoringInstall)
textBlockVer.FontStyle = FontStyles.Italic;
- if (File.Exists(Path.Combine(GlobalVars.exedirectory, "envyupdate.log")))
+ if (File.Exists(Path.Combine(GlobalVars.saveDirectory, "envyupdate.log")) || File.Exists(Path.Combine(GlobalVars.appdata, "envyupdate.log")))
chkLog.IsChecked = true;
+ if (GlobalVars.useAppdata)
+ chkAppdata.IsChecked = true;
+
+ if (!GlobalVars.hasWrite)
+ chkAppdata.IsEnabled = false;
+
textBoxLicEnvyupdate.Text = Properties.Licenses.EnvyUpdate;
textBoxLicFody.Text = Properties.Licenses.Fody;
textBoxLicCostura.Text = Properties.Licenses.CosturaFody;
@@ -54,10 +60,36 @@ namespace EnvyUpdate
if (Debug.isVerbose)
{
Debug.LogToFile("INFO Disabled logging to file.");
- if (File.Exists(Path.Combine(GlobalVars.exedirectory, "envyupdate.log")))
- File.Move(Path.Combine(GlobalVars.exedirectory, "envyupdate.log"), Path.Combine(GlobalVars.exedirectory, "envyupdate." + DateTime.Now.ToString("yyyyMMdd-HHmmss") + ".log"));
+ if (File.Exists(Path.Combine(GlobalVars.saveDirectory, "envyupdate.log")))
+ File.Move(Path.Combine(GlobalVars.saveDirectory, "envyupdate.log"), Path.Combine(GlobalVars.saveDirectory, "envyupdate." + DateTime.Now.ToString("yyyyMMdd-HHmmss") + ".log"));
Debug.isVerbose = false;
}
}
+
+ private void chkAppdata_Checked(object sender, RoutedEventArgs e)
+ {
+ if (!Directory.Exists(GlobalVars.appdata))
+ Directory.CreateDirectory(GlobalVars.appdata);
+
+ GlobalVars.useAppdata = true;
+ GlobalVars.saveDirectory = GlobalVars.appdata;
+ Util.MoveFilesToAppdata();
+
+ Debug.LogToFile("INFO Switched to AppData directory.");
+ }
+
+ private void chkAppdata_Unchecked(object sender, RoutedEventArgs e)
+ {
+ GlobalVars.useAppdata = false;
+ GlobalVars.saveDirectory = GlobalVars.directoryOfExe;
+
+ if (Directory.Exists(GlobalVars.appdata))
+ {
+ Util.MoveFilesToExe();
+ Directory.Delete(GlobalVars.appdata, true);
+ }
+
+ Debug.LogToFile("INFO Switched to EXE directory.");
+ }
}
}
diff --git a/EnvyUpdate/Util.cs b/EnvyUpdate/Util.cs
index ced5548..df99ebb 100644
--- a/EnvyUpdate/Util.cs
+++ b/EnvyUpdate/Util.cs
@@ -1,4 +1,5 @@
using IWshRuntimeLibrary;
+using Microsoft.Build.Framework.XamlTypes;
using Microsoft.Win32;
using System;
using System.Diagnostics;
@@ -130,13 +131,11 @@ namespace EnvyUpdate
///
public static void SelfDelete()
{
- string appdata = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\envyupdate\\";
-
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo
{
WindowStyle = ProcessWindowStyle.Hidden,
- WorkingDirectory = appdata,
+ WorkingDirectory = GlobalVars.legacyAppdata,
FileName = "cmd.exe",
Arguments = "/C timeout 5 && del EnvyUpdate.exe"
};
@@ -433,7 +432,7 @@ namespace EnvyUpdate
*/
//TODO: find way to differentiate between driver types
- if (System.IO.File.Exists(GlobalVars.exedirectory + "sd.envy"))
+ if (System.IO.File.Exists(Path.Combine(GlobalVars.saveDirectory, "sd.envy")))
return 18;
else
return 1;
@@ -510,27 +509,27 @@ namespace EnvyUpdate
public static void UninstallAll()
{
- if (System.IO.File.Exists(GlobalVars.startup + "\\EnvyUpdate.lnk"))
+ if (System.IO.File.Exists(Path.Combine(GlobalVars.startup, "\\EnvyUpdate.lnk")))
{
Debug.LogToFile("INFO Deleted startup entry.");
- System.IO.File.Delete(GlobalVars.startup + "\\EnvyUpdate.lnk");
+ System.IO.File.Delete(Path.Combine(GlobalVars.startup, "\\EnvyUpdate.lnk"));
}
- if (System.IO.File.Exists(GlobalVars.startmenu + "\\EnvyUpdate.lnk"))
+ if (System.IO.File.Exists(Path.Combine(GlobalVars.startmenu, "\\EnvyUpdate.lnk")))
{
Debug.LogToFile("INFO Deleted start menu entry.");
- System.IO.File.Delete(GlobalVars.startmenu + "\\EnvyUpdate.lnk");
+ System.IO.File.Delete(Path.Combine(GlobalVars.startmenu, "\\EnvyUpdate.lnk"));
}
- if ((GlobalVars.exedirectory == GlobalVars.appdata) && System.IO.File.Exists(GlobalVars.appdata + "EnvyUpdate.exe"))
+ if ((GlobalVars.saveDirectory == GlobalVars.legacyAppdata) && System.IO.File.Exists(Path.Combine(GlobalVars.legacyAppdata, "EnvyUpdate.exe")))
{
Debug.LogToFile("INFO Deleting EnvyUpdate appdata and self.");
MessageBox.Show(Properties.Resources.uninstall_legacy_message);
Util.SelfDelete();
}
- else if (Directory.Exists(GlobalVars.appdata))
+ else if (Directory.Exists(GlobalVars.legacyAppdata))
{
Debug.LogToFile("INFO Deleting EnvyUpdate appdata folder");
- Directory.Delete(GlobalVars.appdata, true);
+ Directory.Delete(GlobalVars.legacyAppdata, true);
}
}
@@ -579,7 +578,7 @@ namespace EnvyUpdate
}
else
{
- path = Path.Combine(GlobalVars.exedirectory, "7zr.exe");
+ path = Path.Combine(GlobalVars.saveDirectory, "7zr.exe");
using (WebClient client = new WebClient())
{
client.Headers["User-Agent"] = GlobalVars.useragent;
@@ -664,5 +663,37 @@ namespace EnvyUpdate
}
return null;
}
+
+ public static bool HasWritePermissions()
+ {
+ try
+ {
+ System.IO.File.Create(Path.Combine(GlobalVars.saveDirectory, "writeable.envy")).Close();
+ System.IO.File.Delete(Path.Combine(GlobalVars.saveDirectory, "writeable.envy"));
+ return true;
+ }
+ catch (Exception)
+ {
+ return false;
+ }
+ }
+
+ public static void MoveFilesToAppdata()
+ {
+ string[] envyFiles = Directory.GetFiles(GlobalVars.directoryOfExe, "*.envy");
+ foreach (var item in envyFiles)
+ System.IO.File.Move(item, Path.Combine(GlobalVars.appdata, Path.GetFileName(item)));
+ if (System.IO.File.Exists(Path.Combine(GlobalVars.directoryOfExe, "envyupdate.log")))
+ System.IO.File.Move(Path.Combine(GlobalVars.directoryOfExe, "envyupdate.log"), Path.Combine(GlobalVars.appdata, "envyupdate.log"));
+ }
+
+ public static void MoveFilesToExe()
+ {
+ string[] envyFiles = Directory.GetFiles(GlobalVars.appdata, "*.envy");
+ foreach (var item in envyFiles)
+ System.IO.File.Move(item, Path.Combine(GlobalVars.directoryOfExe, Path.GetFileName(item)));
+ if (System.IO.File.Exists(Path.Combine(GlobalVars.appdata, "envyupdate.log")))
+ System.IO.File.Move(Path.Combine(GlobalVars.appdata, "envyupdate.log"), Path.Combine(GlobalVars.directoryOfExe, "envyupdate.log"));
+ }
}
}