From 0592c7275e6d011d4605cb23f19a184c75ffc54f Mon Sep 17 00:00:00 2001 From: chiDT Date: Wed, 13 Aug 2025 00:59:34 +0900 Subject: [PATCH] Update Form1.cs with line processing logic --- .gitignore | 20 ++ UpdateInfoMaker/Form1.Designer.cs | 207 +++++++++++++ UpdateInfoMaker/Form1.cs | 275 ++++++++++++++++++ UpdateInfoMaker/Form1.resx | 120 ++++++++ UpdateInfoMaker/Program.cs | 22 ++ UpdateInfoMaker/Properties/AssemblyInfo.cs | 33 +++ .../Properties/Resources.Designer.cs | 71 +++++ UpdateInfoMaker/Properties/Resources.resx | 117 ++++++++ .../Properties/Settings.Designer.cs | 30 ++ UpdateInfoMaker/Properties/Settings.settings | 7 + UpdateInfoMaker/Update.ini | 56 ++++ 11 files changed, 958 insertions(+) create mode 100644 .gitignore create mode 100644 UpdateInfoMaker/Form1.Designer.cs create mode 100644 UpdateInfoMaker/Form1.cs create mode 100644 UpdateInfoMaker/Form1.resx create mode 100644 UpdateInfoMaker/Program.cs create mode 100644 UpdateInfoMaker/Properties/AssemblyInfo.cs create mode 100644 UpdateInfoMaker/Properties/Resources.Designer.cs create mode 100644 UpdateInfoMaker/Properties/Resources.resx create mode 100644 UpdateInfoMaker/Properties/Settings.Designer.cs create mode 100644 UpdateInfoMaker/Properties/Settings.settings create mode 100644 UpdateInfoMaker/Update.ini diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..08b94ca --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +## 파일무시 +desktop.ini +UpgradeLog.htm + +##폴더무시 +bin +obj +packages + +## 다음과 같은 확장자는 전체 무시 +.vs +*.pub +*.sln +*.inf +*.csproj +*.config +*.exe +*.xlsx +*.zip +*.msi diff --git a/UpdateInfoMaker/Form1.Designer.cs b/UpdateInfoMaker/Form1.Designer.cs new file mode 100644 index 0000000..76b4ba6 --- /dev/null +++ b/UpdateInfoMaker/Form1.Designer.cs @@ -0,0 +1,207 @@ +namespace UpdateInfoMaker +{ + partial class Form1 + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. + /// + private void InitializeComponent() + { + this.label1 = new System.Windows.Forms.Label(); + this.tbCount = new System.Windows.Forms.TextBox(); + this.btRead = new System.Windows.Forms.Button(); + this.btWrite = new System.Windows.Forms.Button(); + this.tbDate = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.tbExeFileName = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.tbServerURL = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.listView1 = new System.Windows.Forms.ListView(); + this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.btUpdateFilelist = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(33, 30); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(36, 12); + this.label1.TabIndex = 0; + this.label1.Text = "count"; + // + // tbCount + // + this.tbCount.Location = new System.Drawing.Point(91, 25); + this.tbCount.Name = "tbCount"; + this.tbCount.Size = new System.Drawing.Size(100, 21); + this.tbCount.TabIndex = 1; + // + // btRead + // + this.btRead.Location = new System.Drawing.Point(277, 25); + this.btRead.Name = "btRead"; + this.btRead.Size = new System.Drawing.Size(116, 30); + this.btRead.TabIndex = 2; + this.btRead.Text = "read"; + this.btRead.UseVisualStyleBackColor = true; + this.btRead.Click += new System.EventHandler(this.btRead_Click); + // + // btWrite + // + this.btWrite.Location = new System.Drawing.Point(413, 21); + this.btWrite.Name = "btWrite"; + this.btWrite.Size = new System.Drawing.Size(116, 30); + this.btWrite.TabIndex = 2; + this.btWrite.Text = "write"; + this.btWrite.UseVisualStyleBackColor = true; + this.btWrite.Click += new System.EventHandler(this.btWrite_Click); + // + // tbDate + // + this.tbDate.Location = new System.Drawing.Point(91, 52); + this.tbDate.Name = "tbDate"; + this.tbDate.Size = new System.Drawing.Size(100, 21); + this.tbDate.TabIndex = 4; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(33, 57); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(29, 12); + this.label2.TabIndex = 3; + this.label2.Text = "date"; + // + // tbExeFileName + // + this.tbExeFileName.Location = new System.Drawing.Point(91, 106); + this.tbExeFileName.Name = "tbExeFileName"; + this.tbExeFileName.Size = new System.Drawing.Size(100, 21); + this.tbExeFileName.TabIndex = 8; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(33, 111); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(26, 12); + this.label3.TabIndex = 7; + this.label3.Text = "exe"; + // + // tbServerURL + // + this.tbServerURL.Location = new System.Drawing.Point(91, 79); + this.tbServerURL.Name = "tbServerURL"; + this.tbServerURL.Size = new System.Drawing.Size(100, 21); + this.tbServerURL.TabIndex = 6; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(33, 84); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(40, 12); + this.label4.TabIndex = 5; + this.label4.Text = "server"; + // + // listView1 + // + this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.columnHeader1, + this.columnHeader2}); + this.listView1.FullRowSelect = true; + this.listView1.GridLines = true; + this.listView1.HideSelection = false; + this.listView1.Location = new System.Drawing.Point(47, 152); + this.listView1.Name = "listView1"; + this.listView1.Size = new System.Drawing.Size(468, 178); + this.listView1.TabIndex = 9; + this.listView1.UseCompatibleStateImageBehavior = false; + this.listView1.View = System.Windows.Forms.View.Details; + // + // columnHeader1 + // + this.columnHeader1.Text = "Name"; + this.columnHeader1.Width = 250; + // + // columnHeader2 + // + this.columnHeader2.Text = "Size"; + // + // btUpdateFilelist + // + this.btUpdateFilelist.Location = new System.Drawing.Point(399, 116); + this.btUpdateFilelist.Name = "btUpdateFilelist"; + this.btUpdateFilelist.Size = new System.Drawing.Size(116, 30); + this.btUpdateFilelist.TabIndex = 10; + this.btUpdateFilelist.Text = "update file list"; + this.btUpdateFilelist.UseVisualStyleBackColor = true; + this.btUpdateFilelist.Click += new System.EventHandler(this.btUpdateFilelist_Click); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.btUpdateFilelist); + this.Controls.Add(this.listView1); + this.Controls.Add(this.tbExeFileName); + this.Controls.Add(this.label3); + this.Controls.Add(this.tbServerURL); + this.Controls.Add(this.label4); + this.Controls.Add(this.tbDate); + this.Controls.Add(this.label2); + this.Controls.Add(this.btWrite); + this.Controls.Add(this.btRead); + this.Controls.Add(this.tbCount); + this.Controls.Add(this.label1); + this.Name = "Form1"; + this.Text = "Form1"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox tbCount; + private System.Windows.Forms.Button btRead; + private System.Windows.Forms.Button btWrite; + private System.Windows.Forms.TextBox tbDate; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox tbExeFileName; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox tbServerURL; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.ListView listView1; + private System.Windows.Forms.ColumnHeader columnHeader1; + private System.Windows.Forms.ColumnHeader columnHeader2; + private System.Windows.Forms.Button btUpdateFilelist; + } +} + diff --git a/UpdateInfoMaker/Form1.cs b/UpdateInfoMaker/Form1.cs new file mode 100644 index 0000000..5265586 --- /dev/null +++ b/UpdateInfoMaker/Form1.cs @@ -0,0 +1,275 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.IO; +using System.Text.RegularExpressions; + +namespace UpdateInfoMaker +{ + public partial class Form1 : Form + { + private string currentIniPath = ""; + private Dictionary> iniData = new Dictionary>(); + private List fileList = new List(); + + public Form1() + { + InitializeComponent(); + } + + private void btRead_Click(object sender, EventArgs e) + { + using (var od = new OpenFileDialog()) + { + od.Filter = "inf file|*.inf|All files|*.*"; + if (od.ShowDialog() == DialogResult.OK) + { + //ini 파일을 읽어서 텍스트박스에 표시 + currentIniPath = od.FileName; + ReadIniFile(currentIniPath); + UpdateUIFromIniData(); + } + } + } + + private void btWrite_Click(object sender, EventArgs e) + { + using (var od = new SaveFileDialog()) + { + od.Filter = "inf file|*.inf|All files|*.*"; + if (od.ShowDialog() == DialogResult.OK) + { + //ini 파일을 다시 생성한다 + UpdateIniDataFromUI(); + WriteIniFile(od.FileName); + MessageBox.Show("INI 파일이 성공적으로 저장되었습니다.", "저장 완료", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + } + + private void btUpdateFilelist_Click(object sender, EventArgs e) + { + //read에서 읽은 파일으 폴더내에서 exe,dll,xml,config 파일목록을 읽어서 목록을 구성한다 + if (string.IsNullOrEmpty(currentIniPath)) + { + MessageBox.Show("먼저 INF 파일을 읽어주세요.", "알림", MessageBoxButtons.OK, MessageBoxIcon.Warning); + return; + } + + string folderPath = Path.GetDirectoryName(currentIniPath); + UpdateFileList(folderPath); + UpdateFileListView(); + } + + private void ReadIniFile(string filePath) + { + iniData.Clear(); + fileList.Clear(); + + if (!File.Exists(filePath)) + return; + + string[] lines = File.ReadAllLines(filePath, Encoding.Default); + string currentSection = ""; + + foreach (string line in lines) + { + string trimmedLine = line.Trim(); + + if (string.IsNullOrEmpty(trimmedLine) || trimmedLine.StartsWith(";")) + continue; + + if (trimmedLine.StartsWith("[") && trimmedLine.EndsWith("]")) + { + currentSection = trimmedLine.Substring(1, trimmedLine.Length - 2); + if (!iniData.ContainsKey(currentSection)) + iniData[currentSection] = new Dictionary(); + } + else if (!string.IsNullOrEmpty(currentSection) && trimmedLine.Contains("=")) + { + int equalIndex = trimmedLine.IndexOf('='); + string key = trimmedLine.Substring(0, equalIndex).Trim(); + string value = trimmedLine.Substring(equalIndex + 1).Trim(); + + if (currentSection == "files" && key == "Files") + { + iniData[currentSection][key] = value; + } + else if (currentSection == "files" && !key.StartsWith("\\")) + { + // 파일 목록 항목 + fileList.Add(trimmedLine); + } + else + { + iniData[currentSection][key] = value; + } + } + else if (currentSection == "files" && trimmedLine.StartsWith("\\")) + { + fileList.Add(trimmedLine); + } + } + } + + private void WriteIniFile(string filePath) + { + var lines = new List(); + + // Version 섹션 + if (iniData.ContainsKey("Version")) + { + lines.Add("[Version]"); + foreach (var kvp in iniData["Version"]) + { + lines.Add($"{kvp.Key}={kvp.Value}"); + } + lines.Add(""); + } + + // program_info 섹션 + if (iniData.ContainsKey("program_info")) + { + lines.Add("[program_info]"); + foreach (var kvp in iniData["program_info"]) + { + lines.Add($"{kvp.Key}={kvp.Value}"); + } + lines.Add(""); + } + + // files 섹션 + if (iniData.ContainsKey("files")) + { + lines.Add("[files]"); + if (iniData["files"].ContainsKey("Files")) + { + lines.Add($"Files={fileList.Count}"); + } + + foreach (string file in fileList) + { + lines.Add(file); + } + lines.Add("[NoteEndLine]"); + } + + File.WriteAllLines(filePath, lines, Encoding.Default); + } + + private void UpdateUIFromIniData() + { + if (iniData.ContainsKey("Version")) + { + if (iniData["Version"].ContainsKey("count")) + tbCount.Text = iniData["Version"]["count"]; + if (iniData["Version"].ContainsKey("date")) + tbDate.Text = iniData["Version"]["date"]; + } + + if (iniData.ContainsKey("program_info")) + { + if (iniData["program_info"].ContainsKey("server_url")) + tbServerURL.Text = iniData["program_info"]["server_url"]; + if (iniData["program_info"].ContainsKey("exe")) + tbExeFileName.Text = iniData["program_info"]["exe"]; + } + + UpdateFileListView(); + } + + private void UpdateIniDataFromUI() + { + // Version 섹션 업데이트 + if (!iniData.ContainsKey("Version")) + iniData["Version"] = new Dictionary(); + + iniData["Version"]["count"] = tbCount.Text; + iniData["Version"]["date"] = tbDate.Text; + + // program_info 섹션 업데이트 + if (!iniData.ContainsKey("program_info")) + iniData["program_info"] = new Dictionary(); + + iniData["program_info"]["server_url"] = tbServerURL.Text; + iniData["program_info"]["exe"] = tbExeFileName.Text; + + // files 섹션 업데이트 + if (!iniData.ContainsKey("files")) + iniData["files"] = new Dictionary(); + + iniData["files"]["Files"] = fileList.Count.ToString(); + } + + private void UpdateFileList(string folderPath) + { + fileList.Clear(); + + if (!Directory.Exists(folderPath)) + return; + + string[] extensions = { "*.exe", "*.dll", "*.xml", "*.config" }; + + foreach (string extension in extensions) + { + string[] files = Directory.GetFiles(folderPath, extension, SearchOption.TopDirectoryOnly); + foreach (string file in files) + { + string fileName = Path.GetFileName(file); + fileList.Add($"\\{fileName}"); + } + } + + // 파일 개수 업데이트 + if (!iniData.ContainsKey("files")) + iniData["files"] = new Dictionary(); + iniData["files"]["Files"] = fileList.Count.ToString(); + } + + private void UpdateFileListView() + { + listView1.Items.Clear(); + + foreach (string file in fileList) + { + string fileName = file.TrimStart('\\'); + string filePath = Path.Combine(Path.GetDirectoryName(currentIniPath), fileName); + + var item = new ListViewItem(fileName); + + if (File.Exists(filePath)) + { + FileInfo fileInfo = new FileInfo(filePath); + item.SubItems.Add(FormatFileSize(fileInfo.Length)); + } + else + { + item.SubItems.Add("X"); + } + + listView1.Items.Add(item); + } + } + + private string FormatFileSize(long bytes) + { + string[] sizes = { "B", "KB", "MB", "GB" }; + double len = bytes; + int order = 0; + + while (len >= 1024 && order < sizes.Length - 1) + { + order++; + len = len / 1024; + } + + return $"{len:0.##} {sizes[order]}"; + } + } +} diff --git a/UpdateInfoMaker/Form1.resx b/UpdateInfoMaker/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/UpdateInfoMaker/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/UpdateInfoMaker/Program.cs b/UpdateInfoMaker/Program.cs new file mode 100644 index 0000000..e30b01d --- /dev/null +++ b/UpdateInfoMaker/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace UpdateInfoMaker +{ + internal static class Program + { + /// + /// 해당 애플리케이션의 주 진입점입니다. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/UpdateInfoMaker/Properties/AssemblyInfo.cs b/UpdateInfoMaker/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..2ac59b0 --- /dev/null +++ b/UpdateInfoMaker/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 +// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면 +// 이러한 특성 값을 변경하세요. +[assembly: AssemblyTitle("UpdateInfoMaker")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("UpdateInfoMaker")] +[assembly: AssemblyCopyright("Copyright © 2025")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 +// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면 +// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요. +[assembly: ComVisible(false)] + +// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다. +[assembly: Guid("5c3fb269-50c5-426e-8aa2-64c4f1ded873")] + +// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다. +// +// 주 버전 +// 부 버전 +// 빌드 번호 +// 수정 버전 +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/UpdateInfoMaker/Properties/Resources.Designer.cs b/UpdateInfoMaker/Properties/Resources.Designer.cs new file mode 100644 index 0000000..24eb1dd --- /dev/null +++ b/UpdateInfoMaker/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// 이 코드는 도구를 사용하여 생성되었습니다. +// 런타임 버전:4.0.30319.42000 +// +// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면 +// 이러한 변경 내용이 손실됩니다. +// +//------------------------------------------------------------------------------ + +namespace UpdateInfoMaker.Properties +{ + + + /// + /// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. + /// + // 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder + // 클래스에서 자동으로 생성되었습니다. + // 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 + // ResGen을 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UpdateInfoMaker.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을 + /// 재정의합니다. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/UpdateInfoMaker/Properties/Resources.resx b/UpdateInfoMaker/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/UpdateInfoMaker/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/UpdateInfoMaker/Properties/Settings.Designer.cs b/UpdateInfoMaker/Properties/Settings.Designer.cs new file mode 100644 index 0000000..9b35567 --- /dev/null +++ b/UpdateInfoMaker/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace UpdateInfoMaker.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/UpdateInfoMaker/Properties/Settings.settings b/UpdateInfoMaker/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/UpdateInfoMaker/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/UpdateInfoMaker/Update.ini b/UpdateInfoMaker/Update.ini new file mode 100644 index 0000000..ef21b4c --- /dev/null +++ b/UpdateInfoMaker/Update.ini @@ -0,0 +1,56 @@ +[Version] +count=0.0187.4 +date=2025-08-13 + +[program_info] +server_url=1.215.250.130 +exe=UniMarc.exe + +[files] +Files=45 +\_Factory_Client.exe +\BouncyCastle.Crypto.dll +\chromedriver.exe +\Google.Protobuf.dll +\K4os.Compression.LZ4.dll +\K4os.Compression.LZ4.Streams.dll +\K4os.Hash.xxHash.dll +\MySql.Data.dll +\MySql.Data.xml +\Newtonsoft.Json.dll +\Newtonsoft.Json.xml +\Renci.SshNet.dll +\Renci.SshNet.xml +\System.Buffers.dll +\System.Memory.dll +\System.Numerics.Vectors.dll +\System.Runtime.CompilerServices.Unsafe.dll +\Ubiety.Dns.Core.dll +\UniMarc.exe +\UniMarc.exe.config +\Update.inf +\Zstandard.Net.dll +\UniMarc.resources.dll +\ArLog.Net4.dll +\CarlosAg.ExcelXmlWriter.dll +\arCommUtil.dll +\arControl.Net4.dll +\Microsoft.Bcl.AsyncInterfaces.dll +\Microsoft.Win32.Registry.dll +\System.Buffers.dll +\System.Memory.dll +\System.Numerics.Vectors.dll +\System.Runtime.CompilerServices.Unsafe.dll +\System.Security.AccessControl.dll +\System.Security.Principal.Windows.dll +\System.Text.Encoding.CodePages.dll +\System.Text.Encodings.Web.dll +\System.Text.Json.dll +\System.Threading.Tasks.Extensions.dll +\System.ValueTuple.dll +\WebDriver.dll +\WebDriver.Support.dll +\WebDriverManager.dll +\AngleSharp.dll +\ICSharpCode.SharpZipLib.dll +[NoteEndLine] \ No newline at end of file