--Add connectivity of new weighing scale(AVS-Terry)
-- Commit reset port button and codemain
parent
a93169635b
commit
ddfd4b4591
Binary file not shown.
BIN
.vs/AVS/v16/.suo
BIN
.vs/AVS/v16/.suo
Binary file not shown.
|
@ -275,6 +275,7 @@ namespace AVS
|
||||||
this.btn_reset_port.TabIndex = 57;
|
this.btn_reset_port.TabIndex = 57;
|
||||||
this.btn_reset_port.Text = "RESET PORT";
|
this.btn_reset_port.Text = "RESET PORT";
|
||||||
this.btn_reset_port.UseVisualStyleBackColor = false;
|
this.btn_reset_port.UseVisualStyleBackColor = false;
|
||||||
|
this.btn_reset_port.Visible = false;
|
||||||
this.btn_reset_port.Click += new System.EventHandler(this.btn_reset_port_Click);
|
this.btn_reset_port.Click += new System.EventHandler(this.btn_reset_port_Click);
|
||||||
//
|
//
|
||||||
// openFileDialog1
|
// openFileDialog1
|
||||||
|
|
294
MainForm.cs
294
MainForm.cs
|
@ -30,11 +30,36 @@ using System.Linq;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Management;
|
using System.Management;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
namespace AVS
|
namespace AVS
|
||||||
{
|
{
|
||||||
public partial class MainForm : MaterialForm
|
public partial class MainForm : MaterialForm
|
||||||
{
|
{
|
||||||
|
// Define the necessary P/Invoke signatures
|
||||||
|
const uint DIGCF_PRESENT = 0x00000002;
|
||||||
|
const uint DIGCF_ALLCLASSES = 0x00000004;
|
||||||
|
const uint DIF_DISABLE = 0x00000012;
|
||||||
|
const uint DIF_ENABLE = 0x00000011;
|
||||||
|
|
||||||
|
[DllImport("setupapi.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||||
|
public static extern IntPtr SetupDiGetClassDevs(IntPtr classGuid, string enumerator, IntPtr hwndParent, uint flags);
|
||||||
|
|
||||||
|
[DllImport("setupapi.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||||
|
public static extern bool SetupDiEnumDeviceInfo(IntPtr deviceInfoSet, uint memberIndex, ref SP_DEVINFO_DATA deviceInfoData);
|
||||||
|
|
||||||
|
[DllImport("setupapi.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||||
|
public static extern bool SetupDiCallClassInstaller(uint InstallFunction, IntPtr deviceInfoSet, ref SP_DEVINFO_DATA deviceInfoData);
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
public class SP_DEVINFO_DATA
|
||||||
|
{
|
||||||
|
public uint cbSize;
|
||||||
|
public Guid ClassGuid;
|
||||||
|
public uint DevInst;
|
||||||
|
public IntPtr Reserved;
|
||||||
|
}
|
||||||
|
|
||||||
private readonly SemaphoreSlim _operationLock = new SemaphoreSlim(1, 1);
|
private readonly SemaphoreSlim _operationLock = new SemaphoreSlim(1, 1);
|
||||||
string Softwareversion;
|
string Softwareversion;
|
||||||
|
|
||||||
|
@ -1492,7 +1517,14 @@ namespace AVS
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return _serialPort.ReadLine();
|
if (global_cb_carton == true)
|
||||||
|
{
|
||||||
|
return _serialPort.ReadExisting();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return _serialPort.ReadLine();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (TimeoutException ex)
|
catch (TimeoutException ex)
|
||||||
{
|
{
|
||||||
|
@ -1503,18 +1535,11 @@ namespace AVS
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(data))
|
if (!string.IsNullOrEmpty(data))
|
||||||
{
|
{
|
||||||
//if (userTextBox.Text.Contains("1stfloor"))
|
|
||||||
//{
|
|
||||||
|
|
||||||
// ForNewWeightScale(data);
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
|
|
||||||
Debug.WriteLine($"Data received: {data}");
|
Debug.WriteLine($"Data received: {data}");
|
||||||
UpdateUI(data, isDataReceived: true);
|
UpdateUI(data, isDataReceived: true);
|
||||||
Console.WriteLine($"Data received: {data}");
|
Console.WriteLine($"Data received: {data}");
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1661,6 +1686,8 @@ namespace AVS
|
||||||
txt_weight.Text = "0"; // Reset weight display
|
txt_weight.Text = "0"; // Reset weight display
|
||||||
lbl_hold_weight.Text = "0"; // Reset hold weight display
|
lbl_hold_weight.Text = "0"; // Reset hold weight display
|
||||||
PreviousWeight = 0; // Reset previous weight tracker
|
PreviousWeight = 0; // Reset previous weight tracker
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1668,38 +1695,49 @@ namespace AVS
|
||||||
if (isDataReceived)
|
if (isDataReceived)
|
||||||
{
|
{
|
||||||
pb_red.Visible = false; // Hide red indicator
|
pb_red.Visible = false; // Hide red indicator
|
||||||
pb_blue.Visible = true; // Show blue indicator for data received
|
pb_blue.Visible = true; // Show blue indicator for data received
|
||||||
|
|
||||||
// Match weight pattern in message (e.g., "123.45 kg")
|
// For new weighing scale
|
||||||
Match match = Regex.Match(message, @"(\d+(\.\d+)?) kg");
|
if (global_cb_carton == true)
|
||||||
|
|
||||||
if (match.Success && double.TryParse(match.Groups[1].Value, out double weight))
|
|
||||||
{
|
{
|
||||||
// Only update weight display if it has changed
|
string[] segments = message.Split('=');
|
||||||
if (weight != PreviousWeight)
|
|
||||||
|
foreach (string segment in segments)
|
||||||
{
|
{
|
||||||
PreviousWeight = weight; // Update the previous weight
|
// Trim unwanted characters
|
||||||
txt_weight.Text = weight.ToString("0.000"); // Display the current weight
|
string numericPart = segment.Trim().TrimEnd('.');
|
||||||
|
|
||||||
|
// Try parsing as a double
|
||||||
|
if (!string.IsNullOrEmpty(numericPart) && double.TryParse(numericPart,
|
||||||
|
NumberStyles.Any, CultureInfo.InvariantCulture, out double weight))
|
||||||
|
{
|
||||||
|
//MessageBox.Show(weight.ToString("0.000"));
|
||||||
|
|
||||||
|
// Example dynamic rule for SITE-05 (reverse the number as string)
|
||||||
|
string reversedString = new string(numericPart.Reverse().ToArray());
|
||||||
|
|
||||||
|
if (double.TryParse(reversedString, NumberStyles.Any, CultureInfo.InvariantCulture, out double reversedWeight))
|
||||||
|
{
|
||||||
|
weight = reversedWeight; // Use reversed value dynamically
|
||||||
|
|
||||||
|
if (weight != PreviousWeight)
|
||||||
|
{
|
||||||
|
PreviousWeight = weight; // Update the previous weight
|
||||||
|
txt_weight.Text = weight.ToString("0.000"); // Display the current weight
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update hold weight if above threshold
|
||||||
|
if (weight > 0.020)
|
||||||
|
{
|
||||||
|
lbl_hold_weight.Text = weight.ToString("0.000"); // Display the hold weight
|
||||||
|
}
|
||||||
|
|
||||||
|
message = "Machine connected";
|
||||||
|
lbl_msg.ForeColor = Color.Green;
|
||||||
|
lbl_msg.Text = message;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update hold weight if above threshold
|
|
||||||
if (weight > 0.020)
|
|
||||||
{
|
|
||||||
lbl_hold_weight.Text = weight.ToString("0.000"); // Display the hold weight
|
|
||||||
}
|
|
||||||
|
|
||||||
message = "Machine connected";
|
|
||||||
lbl_msg.ForeColor = Color.Green;
|
|
||||||
lbl_msg.Text = message;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
message = "Set machine uint in KG";
|
|
||||||
lbl_msg.ForeColor = Color.Red;
|
|
||||||
lbl_msg.Text = message;
|
|
||||||
lbl_hold_weight.Text = "0";
|
|
||||||
txt_weight.Text = "0";
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1797,37 +1835,131 @@ namespace AVS
|
||||||
private void btn_reset_port_Click(object sender, EventArgs e)
|
private void btn_reset_port_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// Get the name of the first available COM port
|
// Get the name of the first available COM port
|
||||||
|
|
||||||
string portName = GetCompatiblePort(SerialPortStream.GetPortNames());
|
string portName = GetCompatiblePort(SerialPortStream.GetPortNames());
|
||||||
|
|
||||||
//string portName = "COM1";
|
|
||||||
if (string.IsNullOrEmpty(portName))
|
if (string.IsNullOrEmpty(portName))
|
||||||
{
|
{
|
||||||
MessageBox.Show("No COM ports found.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show("No COM ports found.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Try to reset the port using PowerShell
|
// Try to get the Device Instance ID for the port
|
||||||
string deviceInstanceId = GetDeviceInstanceIdFromCOMPort(portName);
|
//string deviceInstanceId = GetDeviceInstanceIdFromCOMPort(portName);
|
||||||
if (!string.IsNullOrEmpty(deviceInstanceId))
|
//if (!string.IsNullOrEmpty(deviceInstanceId))
|
||||||
{
|
//{
|
||||||
ResetPort(deviceInstanceId);
|
ResetPort(portName);
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
MessageBox.Show($"Device ID for {portName} not found.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
// MessageBox.Show($"Device ID for {portName} not found.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
//}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private string GetDeviceInstanceIdFromCOMPort(string portName)
|
//private string GetDeviceInstanceIdFromCOMPort(string portName)
|
||||||
|
//{
|
||||||
|
// try
|
||||||
|
// {
|
||||||
|
// // WMI query to get the device instance ID based on the COM port
|
||||||
|
// string query = $"SELECT * FROM Win32_SerialPort WHERE DeviceID LIKE '%{portName}%'";
|
||||||
|
|
||||||
|
// // Create a ManagementObjectSearcher to execute the query
|
||||||
|
// ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
|
||||||
|
// foreach (ManagementObject device in searcher.Get())
|
||||||
|
// {
|
||||||
|
// // Return the device instance ID
|
||||||
|
// return device["PNPDeviceID"]?.ToString();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// catch (Exception ex)
|
||||||
|
// {
|
||||||
|
// Debug.WriteLine($"Error retrieving Device Instance ID: {ex.Message}");
|
||||||
|
// }
|
||||||
|
// return null;
|
||||||
|
//}
|
||||||
|
|
||||||
|
// Method to set the device state (enable/disable) using WMI
|
||||||
|
|
||||||
|
|
||||||
|
// Method to reset the port by disabling and enabling it
|
||||||
|
public static void ResetPort(string portName)
|
||||||
|
{
|
||||||
|
string deviceInstanceId = GetDeviceInstanceIdFromCOMPort(portName);
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(deviceInstanceId))
|
||||||
|
{
|
||||||
|
DisableDevice(deviceInstanceId);
|
||||||
|
Thread.Sleep(3000); // Wait 3 seconds before enabling the device
|
||||||
|
EnableDevice(deviceInstanceId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("No device found for the given COM port.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Methods to enable or disable the device
|
||||||
|
public static void EnableDevice(string deviceInstanceId)
|
||||||
|
{
|
||||||
|
IntPtr deviceInfoSet = SetupDiGetClassDevs(IntPtr.Zero, deviceInstanceId, IntPtr.Zero, DIGCF_PRESENT);
|
||||||
|
if (deviceInfoSet == IntPtr.Zero)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Error getting device info set.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
SP_DEVINFO_DATA deviceInfoData = new SP_DEVINFO_DATA();
|
||||||
|
deviceInfoData.cbSize = (uint)Marshal.SizeOf(typeof(SP_DEVINFO_DATA));
|
||||||
|
|
||||||
|
uint index = 0;
|
||||||
|
while (SetupDiEnumDeviceInfo(deviceInfoSet, index, ref deviceInfoData))
|
||||||
|
{
|
||||||
|
Console.WriteLine($"Found device: {deviceInfoData.DevInst}");
|
||||||
|
SetupDiCallClassInstaller(DIF_ENABLE, deviceInfoSet, ref deviceInfoData);
|
||||||
|
Console.WriteLine("Device enabled.");
|
||||||
|
break; // Stop after enabling the first matching device
|
||||||
|
}
|
||||||
|
Console.WriteLine("No matching device found.");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disable a device by Instance ID
|
||||||
|
public static void DisableDevice(string deviceInstanceId)
|
||||||
|
{
|
||||||
|
IntPtr deviceInfoSet = SetupDiGetClassDevs(IntPtr.Zero, deviceInstanceId, IntPtr.Zero, DIGCF_PRESENT);
|
||||||
|
if (deviceInfoSet == IntPtr.Zero)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Error getting device info set.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
SP_DEVINFO_DATA deviceInfoData = new SP_DEVINFO_DATA();
|
||||||
|
deviceInfoData.cbSize = (uint)Marshal.SizeOf(typeof(SP_DEVINFO_DATA));
|
||||||
|
|
||||||
|
uint index = 0;
|
||||||
|
while (SetupDiEnumDeviceInfo(deviceInfoSet, index, ref deviceInfoData))
|
||||||
|
{
|
||||||
|
Console.WriteLine($"Found device: {deviceInfoData.DevInst}");
|
||||||
|
SetupDiCallClassInstaller(DIF_DISABLE, deviceInfoSet, ref deviceInfoData);
|
||||||
|
Console.WriteLine("Device disabled.");
|
||||||
|
break; // Stop after disabling the first matching device
|
||||||
|
}
|
||||||
|
Console.WriteLine("No matching device found.");
|
||||||
|
}
|
||||||
|
public static string GetDeviceInstanceIdFromCOMPort(string portName)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// Query the Windows registry for the device instance ID
|
// PowerShell query to get device instance ID based on the COM port
|
||||||
string query = $"Get-PnpDevice | Where-Object {{ $_.Name -like '*{portName}*' }} | Select-Object -ExpandProperty InstanceId";
|
string query = $"Get-PnpDevice | Where-Object {{ $_.Name -like '*{portName}*' }} | Select-Object -ExpandProperty InstanceId";
|
||||||
return ExecutePowerShellCommand(query);
|
|
||||||
|
// Capture the output of the command
|
||||||
|
string result = ExecutePowerShellCommand(query);
|
||||||
|
|
||||||
|
// Debugging: log the result to ensure correct InstanceId is returned
|
||||||
|
Debug.WriteLine($"PowerShell Output for InstanceId: {result}");
|
||||||
|
|
||||||
|
// Return the result, null if empty
|
||||||
|
return string.IsNullOrEmpty(result) ? null : result;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@ -1836,56 +1968,34 @@ namespace AVS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ResetPort(string deviceInstanceId)
|
public static string ExecutePowerShellCommand(string command)
|
||||||
{
|
|
||||||
string uninstallCommand = $"Uninstall-PnpDevice -InstanceId \"{deviceInstanceId}\" -Confirm:$false";
|
|
||||||
string scanForHardwareCommand = "Get-PnpDevice | Where-Object { $_.Status -eq 'Absent' } | Enable-PnpDevice -Confirm:$false";
|
|
||||||
|
|
||||||
// Uninstall the device
|
|
||||||
ExecutePowerShellCommand(uninstallCommand);
|
|
||||||
Thread.Sleep(5000); // Wait to ensure the device is uninstalled
|
|
||||||
|
|
||||||
// Scan for hardware changes to reinstall the device
|
|
||||||
ExecutePowerShellCommand(scanForHardwareCommand);
|
|
||||||
}
|
|
||||||
|
|
||||||
private string ExecutePowerShellCommand(string command)
|
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
using (var process = new Process())
|
// Run the PowerShell script and capture output
|
||||||
|
var startInfo = new ProcessStartInfo
|
||||||
{
|
{
|
||||||
process.StartInfo = new ProcessStartInfo
|
FileName = "powershell.exe",
|
||||||
{
|
Arguments = $"-NoProfile -ExecutionPolicy Bypass -Command \"{command}\"",
|
||||||
FileName = "powershell.exe",
|
RedirectStandardOutput = true,
|
||||||
Arguments = $"-Command \"{command}\"",
|
UseShellExecute = false,
|
||||||
RedirectStandardOutput = true,
|
CreateNoWindow = true
|
||||||
RedirectStandardError = true,
|
};
|
||||||
UseShellExecute = false,
|
|
||||||
CreateNoWindow = true
|
|
||||||
};
|
|
||||||
|
|
||||||
process.Start();
|
using (var process = Process.Start(startInfo))
|
||||||
string output = process.StandardOutput.ReadToEnd();
|
using (var reader = process.StandardOutput)
|
||||||
string error = process.StandardError.ReadToEnd();
|
{
|
||||||
process.WaitForExit();
|
return reader.ReadToEnd().Trim(); // Return the output of the command
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(error))
|
|
||||||
{
|
|
||||||
Debug.WriteLine($"PowerShell Error: {error}");
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return output.Trim(); // Return the command output
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine($"PowerShell execution error: {ex.Message}");
|
Debug.WriteLine($"Error executing PowerShell command: {ex.Message}");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||||
-->
|
-->
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<History>True|2025-01-22T13:06:10.2021515Z;True|2025-01-20T17:03:46.3339359+05:00;True|2025-01-17T16:05:43.4268668+05:00;True|2025-01-17T15:29:15.3040623+05:00;True|2025-01-17T14:43:18.0168523+05:00;True|2025-01-17T12:10:42.9600907+05:00;True|2025-01-16T15:41:00.8488244+05:00;True|2025-01-15T16:56:17.6142392+05:00;True|2025-01-15T16:33:55.6417349+05:00;True|2025-01-15T13:21:45.4638138+05:00;True|2025-01-15T13:15:20.5641887+05:00;True|2025-01-15T12:40:01.2419621+05:00;True|2025-01-15T12:03:30.8084697+05:00;True|2025-01-14T14:28:18.3366894+05:00;True|2025-01-14T14:26:26.2462065+05:00;True|2025-01-14T14:15:07.2883239+05:00;True|2025-01-13T12:30:23.8416299+05:00;True|2025-01-13T11:42:39.1224890+05:00;True|2025-01-03T12:33:10.2793698+05:00;True|2024-12-18T15:18:14.4395717+05:00;True|2024-12-18T12:54:56.8084778+05:00;True|2024-12-13T15:44:24.4352978+05:00;True|2024-12-05T10:51:18.0390128+05:00;True|2024-11-19T15:15:29.2333962+05:00;False|2024-11-19T15:14:41.4128664+05:00;False|2024-11-19T15:14:36.3176067+05:00;True|2024-11-19T12:46:09.5293823+05:00;True|2024-11-15T15:47:24.5856469+05:00;True|2024-11-15T10:37:27.3010142+05:00;True|2024-11-14T16:04:59.4907408+05:00;True|2024-11-14T11:36:56.6431970+05:00;True|2024-11-14T11:34:49.6598132+05:00;True|2024-11-14T11:28:45.2501074+05:00;True|2024-11-14T11:26:24.2442493+05:00;True|2024-11-14T11:23:19.7352473+05:00;True|2024-11-14T11:14:58.0824649+05:00;True|2024-11-14T11:11:54.9014794+05:00;True|2024-11-13T15:09:33.1039388+05:00;True|2024-11-11T15:27:08.4922899+05:00;True|2024-11-11T11:11:44.1076640+05:00;True|2024-11-08T16:55:19.8477794+05:00;True|2024-11-07T13:00:42.6710690+05:00;True|2024-11-06T15:51:05.5447288+05:00;True|2024-10-24T12:42:25.3699824+05:00;True|2024-10-24T11:23:10.1903366+05:00;True|2024-10-16T16:14:16.3746546+05:00;True|2024-10-16T15:50:04.4963422+05:00;True|2024-10-16T13:05:44.8782830+05:00;True|2024-10-16T13:01:07.1428555+05:00;True|2024-10-14T16:14:19.8020734+05:00;True|2024-09-14T10:16:00.4694353+05:00;True|2024-09-10T11:51:34.4061980+05:00;True|2024-09-09T13:16:17.8966236+05:00;True|2024-09-06T16:06:27.3649451+05:00;True|2024-09-06T16:04:47.1924045+05:00;True|2024-09-06T15:57:13.6901243+05:00;True|2024-09-06T12:32:36.9615856+05:00;True|2024-09-04T15:57:14.4892617+05:00;</History>
|
<History>True|2025-02-07T05:32:29.7309449Z;True|2025-02-07T10:27:55.4280510+05:00;True|2025-02-07T10:21:49.7222635+05:00;True|2025-02-06T15:41:41.2223957+05:00;True|2025-02-06T13:03:45.4378887+05:00;True|2025-02-06T12:47:23.0466564+05:00;True|2025-02-06T12:07:59.3347451+05:00;True|2025-02-06T11:13:58.9226036+05:00;True|2025-02-06T10:56:53.5700768+05:00;True|2025-01-22T18:06:10.2021515+05:00;True|2025-01-20T17:03:46.3339359+05:00;True|2025-01-17T16:05:43.4268668+05:00;True|2025-01-17T15:29:15.3040623+05:00;True|2025-01-17T14:43:18.0168523+05:00;True|2025-01-17T12:10:42.9600907+05:00;True|2025-01-16T15:41:00.8488244+05:00;True|2025-01-15T16:56:17.6142392+05:00;True|2025-01-15T16:33:55.6417349+05:00;True|2025-01-15T13:21:45.4638138+05:00;True|2025-01-15T13:15:20.5641887+05:00;True|2025-01-15T12:40:01.2419621+05:00;True|2025-01-15T12:03:30.8084697+05:00;True|2025-01-14T14:28:18.3366894+05:00;True|2025-01-14T14:26:26.2462065+05:00;True|2025-01-14T14:15:07.2883239+05:00;True|2025-01-13T12:30:23.8416299+05:00;True|2025-01-13T11:42:39.1224890+05:00;True|2025-01-03T12:33:10.2793698+05:00;True|2024-12-18T15:18:14.4395717+05:00;True|2024-12-18T12:54:56.8084778+05:00;True|2024-12-13T15:44:24.4352978+05:00;True|2024-12-05T10:51:18.0390128+05:00;True|2024-11-19T15:15:29.2333962+05:00;False|2024-11-19T15:14:41.4128664+05:00;False|2024-11-19T15:14:36.3176067+05:00;True|2024-11-19T12:46:09.5293823+05:00;True|2024-11-15T15:47:24.5856469+05:00;True|2024-11-15T10:37:27.3010142+05:00;True|2024-11-14T16:04:59.4907408+05:00;True|2024-11-14T11:36:56.6431970+05:00;True|2024-11-14T11:34:49.6598132+05:00;True|2024-11-14T11:28:45.2501074+05:00;True|2024-11-14T11:26:24.2442493+05:00;True|2024-11-14T11:23:19.7352473+05:00;True|2024-11-14T11:14:58.0824649+05:00;True|2024-11-14T11:11:54.9014794+05:00;True|2024-11-13T15:09:33.1039388+05:00;True|2024-11-11T15:27:08.4922899+05:00;True|2024-11-11T11:11:44.1076640+05:00;True|2024-11-08T16:55:19.8477794+05:00;True|2024-11-07T13:00:42.6710690+05:00;True|2024-11-06T15:51:05.5447288+05:00;True|2024-10-24T12:42:25.3699824+05:00;True|2024-10-24T11:23:10.1903366+05:00;True|2024-10-16T16:14:16.3746546+05:00;True|2024-10-16T15:50:04.4963422+05:00;True|2024-10-16T13:05:44.8782830+05:00;True|2024-10-16T13:01:07.1428555+05:00;True|2024-10-14T16:14:19.8020734+05:00;True|2024-09-14T10:16:00.4694353+05:00;True|2024-09-10T11:51:34.4061980+05:00;True|2024-09-09T13:16:17.8966236+05:00;True|2024-09-06T16:06:27.3649451+05:00;True|2024-09-06T16:04:47.1924045+05:00;True|2024-09-06T15:57:13.6901243+05:00;True|2024-09-06T12:32:36.9615856+05:00;True|2024-09-04T15:57:14.4892617+05:00;</History>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -14,7 +14,7 @@
|
||||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||||
</dsig:Transforms>
|
</dsig:Transforms>
|
||||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||||
<dsig:DigestValue>NuH6peNEiYuju3sjFhvVE+udl+vBgGXFDL6JRajUXQE=</dsig:DigestValue>
|
<dsig:DigestValue>E7u2IgGBKTU5/op9j5dbYhwlJsYKGxKdzTIbINPHATI=</dsig:DigestValue>
|
||||||
</hash>
|
</hash>
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
Binary file not shown.
|
@ -53,13 +53,13 @@
|
||||||
</hash>
|
</hash>
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</dependency>
|
</dependency>
|
||||||
<file name="AVS.exe" size="21918137">
|
<file name="AVS.exe" size="21918649">
|
||||||
<hash>
|
<hash>
|
||||||
<dsig:Transforms>
|
<dsig:Transforms>
|
||||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||||
</dsig:Transforms>
|
</dsig:Transforms>
|
||||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||||
<dsig:DigestValue>d8USYoutS6s997467gFSVOeOsL4+nWN1j95BTlcxp1Y=</dsig:DigestValue>
|
<dsig:DigestValue>zenZpxCWN4UnTWL3o4kaqnxkBDEsElf1oT+KWnKHg+c=</dsig:DigestValue>
|
||||||
</hash>
|
</hash>
|
||||||
</file>
|
</file>
|
||||||
</asmv1:assembly>
|
</asmv1:assembly>
|
Binary file not shown.
|
@ -14,7 +14,7 @@
|
||||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||||
</dsig:Transforms>
|
</dsig:Transforms>
|
||||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||||
<dsig:DigestValue>NuH6peNEiYuju3sjFhvVE+udl+vBgGXFDL6JRajUXQE=</dsig:DigestValue>
|
<dsig:DigestValue>E7u2IgGBKTU5/op9j5dbYhwlJsYKGxKdzTIbINPHATI=</dsig:DigestValue>
|
||||||
</hash>
|
</hash>
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -53,13 +53,13 @@
|
||||||
</hash>
|
</hash>
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</dependency>
|
</dependency>
|
||||||
<file name="AVS.exe" size="21918137">
|
<file name="AVS.exe" size="21918649">
|
||||||
<hash>
|
<hash>
|
||||||
<dsig:Transforms>
|
<dsig:Transforms>
|
||||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||||
</dsig:Transforms>
|
</dsig:Transforms>
|
||||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||||
<dsig:DigestValue>d8USYoutS6s997467gFSVOeOsL4+nWN1j95BTlcxp1Y=</dsig:DigestValue>
|
<dsig:DigestValue>zenZpxCWN4UnTWL3o4kaqnxkBDEsElf1oT+KWnKHg+c=</dsig:DigestValue>
|
||||||
</hash>
|
</hash>
|
||||||
</file>
|
</file>
|
||||||
</asmv1:assembly>
|
</asmv1:assembly>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -14,7 +14,7 @@
|
||||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||||
</dsig:Transforms>
|
</dsig:Transforms>
|
||||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||||
<dsig:DigestValue>NuH6peNEiYuju3sjFhvVE+udl+vBgGXFDL6JRajUXQE=</dsig:DigestValue>
|
<dsig:DigestValue>E7u2IgGBKTU5/op9j5dbYhwlJsYKGxKdzTIbINPHATI=</dsig:DigestValue>
|
||||||
</hash>
|
</hash>
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
Binary file not shown.
|
@ -53,13 +53,13 @@
|
||||||
</hash>
|
</hash>
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</dependency>
|
</dependency>
|
||||||
<file name="AVS.exe" size="21918137">
|
<file name="AVS.exe" size="21918649">
|
||||||
<hash>
|
<hash>
|
||||||
<dsig:Transforms>
|
<dsig:Transforms>
|
||||||
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
|
||||||
</dsig:Transforms>
|
</dsig:Transforms>
|
||||||
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
|
||||||
<dsig:DigestValue>d8USYoutS6s997467gFSVOeOsL4+nWN1j95BTlcxp1Y=</dsig:DigestValue>
|
<dsig:DigestValue>zenZpxCWN4UnTWL3o4kaqnxkBDEsElf1oT+KWnKHg+c=</dsig:DigestValue>
|
||||||
</hash>
|
</hash>
|
||||||
</file>
|
</file>
|
||||||
</asmv1:assembly>
|
</asmv1:assembly>
|
Binary file not shown.
Loading…
Reference in New Issue