diff --git a/CreamInstaller/Components/CustomForm.cs b/CreamInstaller/Components/CustomForm.cs
index 5e70558..1c26dcc 100644
--- a/CreamInstaller/Components/CustomForm.cs
+++ b/CreamInstaller/Components/CustomForm.cs
@@ -71,9 +71,9 @@ internal class CustomForm : Form
+ "a good majority of games, you must find, download and install those to the game yourself. This process includes manually installing new\n"
+ "DLCs and manually updating the previously manually installed DLCs after game updates.\n\n"
+ $"For reliable and quick assistance, all bugs, crashes and other issues should be referred to the [GitHub Issues]({repository}/issues) page!\n\n"
- + $"HOWEVER: Please read the [template issue]({repository}/issues/new/choose) corresponding to your problem should one exist! Also, note that the [GitHub Issues]({repository}/issues) page is not\n"
- + "your personal assistance hotline, rather it is for genuine bugs/crashes/issues with the program itself. If you post an issue which has already\n"
- + "been explained within the template issues and/or within this text, I will just close it.\n\n"
+ + $"HOWEVER: Please read the [FAQ entry]({repository}/issues/new/choose) and/or [template issue]({repository}/issues/new/choose) corresponding to your problem should one exist! Also, note that the [GitHub Issues]({repository}/issues)\n"
+ + "page is not your personal assistance hotline, rather it is for genuine bugs/crashes/issues with the program itself. If you post an issue which\n"
+ + "has already been explained within the FAQ, template issues, and/or within this text in general, I will just close it and you will be ignored.\n\n"
+ "SteamCMD installation and appinfo cache can be found at [C:\\ProgramData\\CreamInstaller]().\n"
+ $"The program automatically and very quickly updates from [GitHub]({repository}) by choice of the user through a dialog on startup.\n"
+ $"The program source and other information can be found on [GitHub]({repository}).");
diff --git a/CreamInstaller/CreamInstaller.csproj b/CreamInstaller/CreamInstaller.csproj
index 60247b0..ac14f41 100644
--- a/CreamInstaller/CreamInstaller.csproj
+++ b/CreamInstaller/CreamInstaller.csproj
@@ -3,8 +3,8 @@
WinExe
net7.0-windows10.0.22621.0
True
- Resources\ini.ico
- 4.9.9
+ Resources\program.ico
+ 4.10.0
2021, pointfeev (https://github.com/pointfeev)
CreamInstaller
Automatic DLC Unlocker Installer & Configuration Generator
@@ -91,6 +91,9 @@
+
+
+
diff --git a/CreamInstaller/Platforms/Steam/SteamCMD.cs b/CreamInstaller/Platforms/Steam/SteamCMD.cs
index 5630f24..f536731 100644
--- a/CreamInstaller/Platforms/Steam/SteamCMD.cs
+++ b/CreamInstaller/Platforms/Steam/SteamCMD.cs
@@ -2,18 +2,18 @@
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
-using System.Drawing;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
-using System.Windows.Forms;
-using CreamInstaller.Forms;
using CreamInstaller.Resources;
using CreamInstaller.Utility;
using Gameloop.Vdf.Linq;
+#if DEBUG
+using CreamInstaller.Forms;
+#endif
namespace CreamInstaller.Platforms.Steam;
diff --git a/CreamInstaller/Properties/Resources.Designer.cs b/CreamInstaller/Properties/Resources.Designer.cs
index ee75ee5..b4bea93 100644
--- a/CreamInstaller/Properties/Resources.Designer.cs
+++ b/CreamInstaller/Properties/Resources.Designer.cs
@@ -8,16 +8,10 @@
//
//------------------------------------------------------------------------------
-using System.CodeDom.Compiler;
-using System.ComponentModel;
-using System.Diagnostics;
-using System.Diagnostics.CodeAnalysis;
-using System.Drawing;
-using System.Globalization;
-using System.Resources;
-using System.Runtime.CompilerServices;
-
namespace CreamInstaller.Properties {
+ using System;
+
+
///
/// A strongly-typed resource class, for looking up localized strings, etc.
///
@@ -25,27 +19,27 @@ namespace CreamInstaller.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
- [DebuggerNonUserCode()]
- [CompilerGenerated()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
- private static ResourceManager resourceMan;
+ private static global::System.Resources.ResourceManager resourceMan;
- private static CultureInfo resourceCulture;
+ private static global::System.Globalization.CultureInfo resourceCulture;
- [SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
///
/// Returns the cached ResourceManager instance used by this class.
///
- [EditorBrowsable(EditorBrowsableState.Advanced)]
- internal static ResourceManager ResourceManager {
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
get {
- if (ReferenceEquals(resourceMan, null)) {
- ResourceManager temp = new ResourceManager("CreamInstaller.Properties.Resources", typeof(Resources).Assembly);
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CreamInstaller.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
@@ -56,8 +50,8 @@ namespace CreamInstaller.Properties {
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
///
- [EditorBrowsable(EditorBrowsableState.Advanced)]
- internal static CultureInfo Culture {
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
@@ -69,10 +63,10 @@ namespace CreamInstaller.Properties {
///
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
///
- internal static Icon Icon {
+ internal static System.Drawing.Icon Icon {
get {
object obj = ResourceManager.GetObject("Icon", resourceCulture);
- return ((Icon)(obj));
+ return ((System.Drawing.Icon)(obj));
}
}
}
diff --git a/CreamInstaller/Properties/Resources.resx b/CreamInstaller/Properties/Resources.resx
index 56c0201..e3fb794 100644
--- a/CreamInstaller/Properties/Resources.resx
+++ b/CreamInstaller/Properties/Resources.resx
@@ -119,6 +119,6 @@
- ..\resources\ini.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+ ..\resources\program.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
\ No newline at end of file
diff --git a/CreamInstaller/Resources/Koaloader.cs b/CreamInstaller/Resources/Koaloader.cs
index 09867d7..2f71790 100644
--- a/CreamInstaller/Resources/Koaloader.cs
+++ b/CreamInstaller/Resources/Koaloader.cs
@@ -79,7 +79,7 @@ internal static class Koaloader
{
/*if (installForm is not null)
installForm.UpdateUser("Generating Koaloader configuration for " + selection.Name + $" in directory \"{directory}\" . . . ", LogTextBox.Operation);*/
- config.CreateFile(true, installForm).Close();
+ config.CreateFile(true, installForm)?.Close();
StreamWriter writer = new(config, true, Encoding.UTF8);
WriteConfig(writer, targets, modules, installForm);
writer.Flush();
diff --git a/CreamInstaller/Resources/ScreamAPI.cs b/CreamInstaller/Resources/ScreamAPI.cs
index 7760c99..7ac63f8 100644
--- a/CreamInstaller/Resources/ScreamAPI.cs
+++ b/CreamInstaller/Resources/ScreamAPI.cs
@@ -51,7 +51,7 @@ internal static class ScreamAPI
{
/*if (installForm is not null)
installForm.UpdateUser("Generating ScreamAPI configuration for " + selection.Name + $" in directory \"{directory}\" . . . ", LogTextBox.Operation);*/
- config.CreateFile(true, installForm).Close();
+ config.CreateFile(true, installForm)?.Close();
StreamWriter writer = new(config, true, Encoding.UTF8);
WriteConfig(writer, new(overrideCatalogItems.ToDictionary(dlc => dlc.Id, dlc => dlc), PlatformIdComparer.String),
new(injectedEntitlements.ToDictionary(dlc => dlc.Id, dlc => dlc), PlatformIdComparer.String), installForm);
diff --git a/CreamInstaller/Resources/SmokeAPI.cs b/CreamInstaller/Resources/SmokeAPI.cs
index 14c3adc..a951bdb 100644
--- a/CreamInstaller/Resources/SmokeAPI.cs
+++ b/CreamInstaller/Resources/SmokeAPI.cs
@@ -53,7 +53,7 @@ internal static class SmokeAPI
{
/*if (installForm is not null)
installForm.UpdateUser("Generating SmokeAPI configuration for " + selection.Name + $" in directory \"{directory}\" . . . ", LogTextBox.Operation);*/
- config.CreateFile(true, installForm).Close();
+ config.CreateFile(true, installForm)?.Close();
StreamWriter writer = new(config, true, Encoding.UTF8);
WriteConfig(writer, selection.Id, new(extraApps.ToDictionary(extraApp => extraApp.Key, extraApp => extraApp.Value), PlatformIdComparer.String),
new(overrideDlc.ToDictionary(dlc => dlc.Id, dlc => dlc), PlatformIdComparer.String),
diff --git a/CreamInstaller/Resources/UplayR1.cs b/CreamInstaller/Resources/UplayR1.cs
index 6ba5b93..65459b0 100644
--- a/CreamInstaller/Resources/UplayR1.cs
+++ b/CreamInstaller/Resources/UplayR1.cs
@@ -32,7 +32,7 @@ internal static class UplayR1
{
/*if (installForm is not null)
installForm.UpdateUser("Generating Uplay R1 Unlocker configuration for " + selection.Name + $" in directory \"{directory}\" . . . ", LogTextBox.Operation);*/
- config.CreateFile(true, installForm).Close();
+ config.CreateFile(true, installForm)?.Close();
StreamWriter writer = new(config, true, Encoding.UTF8);
WriteConfig(writer, new(blacklistDlc.ToDictionary(dlc => dlc.Id, dlc => dlc), PlatformIdComparer.String), installForm);
writer.Flush();
diff --git a/CreamInstaller/Resources/UplayR2.cs b/CreamInstaller/Resources/UplayR2.cs
index bcfbc64..04f5995 100644
--- a/CreamInstaller/Resources/UplayR2.cs
+++ b/CreamInstaller/Resources/UplayR2.cs
@@ -34,7 +34,7 @@ internal static class UplayR2
{
/*if (installForm is not null)
installForm.UpdateUser("Generating Uplay R2 Unlocker configuration for " + selection.Name + $" in directory \"{directory}\" . . . ", LogTextBox.Operation);*/
- config.CreateFile(true, installForm).Close();
+ config.CreateFile(true, installForm)?.Close();
StreamWriter writer = new(config, true, Encoding.UTF8);
WriteConfig(writer, new(blacklistDlc.ToDictionary(dlc => dlc.Id, dlc => dlc), PlatformIdComparer.String), installForm);
writer.Flush();
diff --git a/CreamInstaller/Resources/ini.ico b/CreamInstaller/Resources/ini.ico
deleted file mode 100644
index 46be4e1..0000000
Binary files a/CreamInstaller/Resources/ini.ico and /dev/null differ
diff --git a/CreamInstaller/Resources/program.ico b/CreamInstaller/Resources/program.ico
new file mode 100644
index 0000000..ee9fb92
Binary files /dev/null and b/CreamInstaller/Resources/program.ico differ
diff --git a/CreamInstaller/Utility/SafeIO.cs b/CreamInstaller/Utility/SafeIO.cs
index 37ee4b2..d4bbf14 100644
--- a/CreamInstaller/Utility/SafeIO.cs
+++ b/CreamInstaller/Utility/SafeIO.cs
@@ -243,10 +243,12 @@ internal static class SafeIO
case 5: // ERROR_ACCESS_DENIED
case 32: // ERROR_SHARING_VIOLATION
case 33: // ERROR_LOCK_VIOLATION
+ description += e.Message + "\n\n";
description += "Please close the program/game and press retry to continue . . . ";
break;
case 225: // ERROR_VIRUS_INFECTED
case 226: // ERROR_VIRUS_DELETED
+ description += e.Message + "\n\n";
description += "Please resolve your anti-virus and press retry to continue . . . ";
break;
default:
diff --git a/preview.png b/preview.png
index 328c7e9..54e5c81 100644
Binary files a/preview.png and b/preview.png differ