diff --git a/ZKuP/COMSelector.xaml.cs b/ZKuP/COMSelector.xaml.cs
index fe91f40..cab623d 100644
--- a/ZKuP/COMSelector.xaml.cs
+++ b/ZKuP/COMSelector.xaml.cs
@@ -34,8 +34,12 @@ namespace ZKuP
private void btnSave_Click(object sender, RoutedEventArgs e)
{
- var match = Regex.Match(cbCOMList.SelectedValue.ToString(), @"COM\d+(?=\))");
- Settings.WriteSetting("COMPort", match.Value);
+ if (cbCOMList.SelectedValue != null)
+ {
+ var match = Regex.Match(cbCOMList.SelectedValue.ToString(), @"COM\d+(?=\))");
+ Settings.WriteSetting("COMPort", match.Value);
+ }
+ else Settings.WriteSetting("COMPort", "");
this.Close();
}
diff --git a/ZKuP/CreateFirma.xaml.cs b/ZKuP/CreateFirma.xaml.cs
index 6d9c7a9..38b9e91 100644
--- a/ZKuP/CreateFirma.xaml.cs
+++ b/ZKuP/CreateFirma.xaml.cs
@@ -1619,6 +1619,7 @@ namespace ZKuP
new MySqlParameter("@id", id)
});
}
+ else (sender as TextBox).Text = oldValue;
}
foreach (var textBox in textBoxes)
diff --git a/ZKuP/FodyWeavers.xsd b/ZKuP/FodyWeavers.xsd
index 05e92c1..f2dbece 100644
--- a/ZKuP/FodyWeavers.xsd
+++ b/ZKuP/FodyWeavers.xsd
@@ -29,12 +29,27 @@
- A list of unmanaged 32 bit assembly names to include, delimited with line breaks.
+ Obsolete, use UnmanagedWinX86Assemblies instead
+
+
+
+
+ A list of unmanaged X86 (32 bit) assembly names to include, delimited with line breaks.
- A list of unmanaged 64 bit assembly names to include, delimited with line breaks.
+ Obsolete, use UnmanagedWinX64Assemblies instead.
+
+
+
+
+ A list of unmanaged X64 (64 bit) assembly names to include, delimited with line breaks.
+
+
+
+
+ A list of unmanaged Arm64 (64 bit) assembly names to include, delimited with line breaks.
@@ -73,6 +88,11 @@
As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off.
+
+
+ The attach method no longer subscribes to the `AppDomain.AssemblyResolve` (.NET 4.x) and `AssemblyLoadContext.Resolving` (.NET 6.0+) events.
+
+
Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code.
@@ -105,12 +125,27 @@
- A list of unmanaged 32 bit assembly names to include, delimited with |.
+ Obsolete, use UnmanagedWinX86Assemblies instead
+
+
+
+
+ A list of unmanaged X86 (32 bit) assembly names to include, delimited with |.
- A list of unmanaged 64 bit assembly names to include, delimited with |.
+ Obsolete, use UnmanagedWinX64Assemblies instead
+
+
+
+
+ A list of unmanaged X64 (64 bit) assembly names to include, delimited with |.
+
+
+
+
+ A list of unmanaged Arm64 (64 bit) assembly names to include, delimited with |.
diff --git a/ZKuP/MainWindow.xaml.cs b/ZKuP/MainWindow.xaml.cs
index 278c270..003cb8a 100644
--- a/ZKuP/MainWindow.xaml.cs
+++ b/ZKuP/MainWindow.xaml.cs
@@ -43,7 +43,7 @@ namespace ZKuP
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
- public const string Version = "5.1.0.1";
+ public const string Version = "5.1.0.2";
public static Roles LoggedInRole { get; private set; } = Roles.None;
@@ -381,7 +381,7 @@ namespace ZKuP
await Dispatcher.BeginInvoke(new Action(() => pgLoad.Value = 15));
auth = await SQL.ReadSingleValueAsync($"SELECT EXISTS(SELECT * FROM {MainWindow.table}.users WHERE `Username` = '{Environment.UserName}')");
- await Dispatcher.BeginInvoke(new Action(() => SQL.WriteSQL($"REPLACE INTO {MainWindow.table}.apptracker (Username, Version, LastLogin) VALUES ('{Environment.UserName}', '{Version}', '{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}')")));
+ await Dispatcher.BeginInvoke(new Action(() => SQL.WriteSQL($"REPLACE INTO {MainWindow.table}.apptracker (Username, Version, LastLogin, Online) VALUES ('{Environment.UserName}', '{Version}', '{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}', 1)")));
await Dispatcher.BeginInvoke(new Action(() => pgLoad.Value = 20));
@@ -2531,7 +2531,7 @@ namespace ZKuP
- private void Window_Closing(object sender, CancelEventArgs e)
+ private async void Window_Closing(object sender, CancelEventArgs e)
{
if (Main.Visibility == Visibility.Visible)
{
@@ -2545,6 +2545,7 @@ namespace ZKuP
Settings.WriteSetting("WindowState", this.WindowState);
Settings.Save();
+ await SQL.WriteSQL($"UPDATE {MainWindow.table}.apptracker SET Online = 0 WHERE Username = '{Environment.UserName}'");
//Properties.Settings.Default.Save();
}
}
diff --git a/ZKuP/SQL.cs b/ZKuP/SQL.cs
index 2949b0f..e45deac 100644
--- a/ZKuP/SQL.cs
+++ b/ZKuP/SQL.cs
@@ -259,6 +259,7 @@ namespace ZKuP
if (signature != null && signature.Length > 0)
cmd.Parameters.Add("@signature", MySqlDbType.LongBlob).Value = signature;
+ else cmd.Parameters.Add("@signature", MySqlDbType.LongBlob).Value = new byte[1];
await SQL.WriteSQL(cmd);
}
@@ -699,7 +700,7 @@ namespace ZKuP
while (reader.Read())
{
if (!reader.IsDBNull(ColumnID))
- queryResult.Add(reader.GetString(ColumnID));
+ queryResult.Add(reader.GetValue(ColumnID).ToString());
else
queryResult.Add("");
}
@@ -737,7 +738,7 @@ namespace ZKuP
{
while (reader.Read())
{
- queryResult.Add(reader.GetDateTime(ColumnID).ToString("yyyy-MM-dd HH:mm:ss") + ";" + reader.GetString(ColumnID + 1));
+ queryResult.Add(reader.GetDateTime(ColumnID).ToString("yyyy-MM-dd HH:mm:ss") + ";" + reader.GetValue(ColumnID + 1).ToString());
}
}
}
@@ -775,7 +776,7 @@ namespace ZKuP
while (reader.Read())
{
if (!reader.IsDBNull(ColumnID) && !reader.IsDBNull(ColumnID + 1))
- queryResult.Add(reader.GetString(ColumnID) + $"{Seperator}" + reader.GetString(ColumnID + 1));
+ queryResult.Add(reader.GetValue(ColumnID).ToString() + $"{Seperator}" + reader.GetValue(ColumnID + 1).ToString());
else
queryResult.Add("");
}
@@ -818,25 +819,25 @@ namespace ZKuP
switch(ColumnCount)
{
case 1:
- queryResult.Add(reader.GetString(ColumnOne));
+ queryResult.Add(reader.GetValue(ColumnOne).ToString());
break;
case 2:
- queryResult.Add(reader.GetString(ColumnOne) + $"{SeperatorOne}" + reader.GetString(ColumnTwo));
+ queryResult.Add(reader.GetValue(ColumnOne).ToString() + $"{SeperatorOne}" + reader.GetValue(ColumnTwo).ToString());
break;
case 3:
- queryResult.Add(reader.GetString(ColumnOne) + $"{SeperatorOne}" + reader.GetString(ColumnTwo) + $"{SeperatorTwo}" + reader.GetString(ColumnThree));
+ queryResult.Add(reader.GetValue(ColumnOne).ToString() + $"{SeperatorOne}" + reader.GetValue(ColumnTwo).ToString() + $"{SeperatorTwo}" + reader.GetValue(ColumnThree).ToString());
break;
case 4:
- queryResult.Add(reader.GetString(ColumnOne) + $"{SeperatorOne}" + reader.GetString(ColumnTwo) + $"{SeperatorTwo}" + reader.GetString(ColumnThree) + $"{SeperatorThree}" + reader.GetString(ColumnFour));
+ queryResult.Add(reader.GetValue(ColumnOne).ToString() + $"{SeperatorOne}" + reader.GetValue(ColumnTwo).ToString() + $"{SeperatorTwo}" + reader.GetValue(ColumnThree).ToString() + $"{SeperatorThree}" + reader.GetValue(ColumnFour).ToString());
break;
case 5:
- queryResult.Add(reader.GetString(ColumnOne) + $"{SeperatorOne}" + reader.GetString(ColumnTwo) + $"{SeperatorTwo}" + reader.GetString(ColumnThree) + $"{SeperatorThree}" + reader.GetString(ColumnFour) + $"{SeperatorFour}" + reader.GetString(ColumnFive));
+ queryResult.Add(reader.GetValue(ColumnOne).ToString() + $"{SeperatorOne}" + reader.GetValue(ColumnTwo).ToString() + $"{SeperatorTwo}" + reader.GetValue(ColumnThree).ToString() + $"{SeperatorThree}" + reader.GetValue(ColumnFour).ToString() + $"{SeperatorFour}" + reader.GetValue(ColumnFive).ToString());
break;
case 6:
- queryResult.Add(reader.GetString(ColumnOne) + $"{SeperatorOne}" + reader.GetString(ColumnTwo) + $"{SeperatorTwo}" + reader.GetString(ColumnThree) + $"{SeperatorThree}" + reader.GetString(ColumnFour) + $"{SeperatorFour}" + reader.GetString(ColumnFive) + $"{SeperatorFive}" + reader.GetString(ColumnSix));
+ queryResult.Add(reader.GetValue(ColumnOne).ToString() + $"{SeperatorOne}" + reader.GetValue(ColumnTwo).ToString() + $"{SeperatorTwo}" + reader.GetValue(ColumnThree).ToString() + $"{SeperatorThree}" + reader.GetValue(ColumnFour).ToString() + $"{SeperatorFour}" + reader.GetValue(ColumnFive).ToString() + $"{SeperatorFive}" + reader.GetValue(ColumnSix).ToString());
break;
default:
- queryResult.Add(reader.GetString(ColumnOne));
+ queryResult.Add(reader.GetValue(ColumnOne).ToString());
break;
}
}
@@ -873,14 +874,14 @@ namespace ZKuP
if (FirstColumn == 0 && SecondColumn == 0)
{
if (!queryResult.ContainsKey(0))
- queryResult.Add(0, reader.GetString(SecondColumn));
+ queryResult.Add(0, reader.GetValue(SecondColumn).ToString());
}
else
{
var x = reader.GetInt32(FirstColumn);
if (!queryResult.ContainsKey(x))
- queryResult.Add(x, reader.GetString(SecondColumn));
+ queryResult.Add(x, reader.GetValue(SecondColumn).ToString());
}
}
@@ -915,13 +916,13 @@ namespace ZKuP
while (reader.Read())
{
if (!reader.IsDBNull(FirstColumn) && !reader.IsDBNull(SecondColumn))
- if (!queryResult.ContainsKey(reader.GetString(FirstColumn)))
- queryResult.Add(reader.GetString(FirstColumn), reader.GetString(SecondColumn));
+ if (!queryResult.ContainsKey(reader.GetValue(FirstColumn).ToString()))
+ queryResult.Add(reader.GetValue(FirstColumn).ToString(), reader.GetValue(SecondColumn).ToString());
else if (reader.IsDBNull(FirstColumn) && !reader.IsDBNull(SecondColumn))
continue;// queryResult.Add("", reader.GetString(SecondColumn));
else if (!reader.IsDBNull(FirstColumn) && reader.IsDBNull(SecondColumn))
- if (!queryResult.ContainsKey(reader.GetString(FirstColumn)))
- queryResult.Add(reader.GetString(FirstColumn), "");
+ if (!queryResult.ContainsKey(reader.GetValue(FirstColumn).ToString()))
+ queryResult.Add(reader.GetValue(FirstColumn).ToString(), "");
}
}
@@ -958,8 +959,9 @@ namespace ZKuP
- await conn.OpenAsync();
- var result = await cmd.ExecuteScalarAsync();
+ conn.Open();
+ var result = cmd.ExecuteScalar();
+ conn.Close();
return result != null;
diff --git a/ZKuP/ZKuP.csproj b/ZKuP/ZKuP.csproj
index ec895d2..d50f146 100644
--- a/ZKuP/ZKuP.csproj
+++ b/ZKuP/ZKuP.csproj
@@ -70,6 +70,7 @@
prompt
MinimumRecommendedRules.ruleset
true
+ 4014,1998,0108
bin\x64\Release\
@@ -609,14 +610,14 @@
-
- 1.8.9
+
+ 2.6.1
1.8.1
- 5.2.0
+ 6.0.0
runtime; build; native; contentfiles; analyzers; buildtransitive
all
@@ -624,25 +625,25 @@
2.0.2
- 3.17.3
+ 3.31.1
- 1.2.6
+ 1.3.8
- 2.4.7
+ 2.4.10
- 5.0.2
+ 7.0.4
- 15.0.4797.1003
+ 15.0.4797.1004
- 7.1.2
+ 7.1.3
- 8.0.25
+ 9.4.0
2.0.3
@@ -651,7 +652,7 @@
13.0.3
- 2020.0.1
+ 2025.0.0
4.3.0
@@ -663,7 +664,7 @@
4.3.0
- 5.0.1
+ 9.0.7
4.3.0
@@ -738,7 +739,7 @@
4.3.0
- 4.5.0
+ 4.6.1
4.3.1
@@ -747,10 +748,10 @@
4.3.0
- 1.1.0
+ 2.1.1
- 2.3.0
+ 2.3.1