diff --git a/ArinWarev1/ECO2_2025V1.vbproj b/ArinWarev1/ECO2_2025V1.vbproj
index 46886fb..7a82d03 100644
--- a/ArinWarev1/ECO2_2025V1.vbproj
+++ b/ArinWarev1/ECO2_2025V1.vbproj
@@ -31,6 +31,8 @@
002.ico
v4.8
+
+
ftp://tindevil.com/www/mynetapp/t4/
true
Web
@@ -51,15 +53,13 @@
1.0.0.%2a
false
true
-
-
true
full
true
true
- ..\..\..\..\..\eco2\debug_2016\
+ c:\eco2\debug_2016\
41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42353,42354,42355
@@ -128,6 +128,8 @@
+
+
@@ -190,6 +192,12 @@
Form
+
+ Frm_WwwrootExtract.vb
+
+
+ Form
+
fSelectWeatherGroup.vb
@@ -517,6 +525,9 @@
Frm_WebManual.vb
+
+ Frm_WwwrootExtract.vb
+
Frm_Work.vb
Designer
@@ -777,7 +788,7 @@
False
- .NET Framework 3.5 SP1 Client Profile
+ .NET Framework Client Profile
false
diff --git a/ArinWarev1/Forms_Basic/Frm_WebManual.Designer.vb b/ArinWarev1/Forms_Basic/Frm_WebManual.Designer.vb
index 81beaba..7d1b2e2 100644
--- a/ArinWarev1/Forms_Basic/Frm_WebManual.Designer.vb
+++ b/ArinWarev1/Forms_Basic/Frm_WebManual.Designer.vb
@@ -22,6 +22,7 @@ Partial Class Frm_WebManual
'코드 편집기에서는 수정하지 마세요.
_
Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Frm_WebManual))
Me.WebView21 = New Microsoft.Web.WebView2.WinForms.WebView2()
CType(Me.WebView21, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
@@ -44,6 +45,7 @@ Partial Class Frm_WebManual
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1350, 700)
Me.Controls.Add(Me.WebView21)
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "Frm_WebManual"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "사용자 매뉴얼"
diff --git a/ArinWarev1/Forms_Basic/Frm_WebManual.resx b/ArinWarev1/Forms_Basic/Frm_WebManual.resx
index d58980a..add4960 100644
--- a/ArinWarev1/Forms_Basic/Frm_WebManual.resx
+++ b/ArinWarev1/Forms_Basic/Frm_WebManual.resx
@@ -117,4 +117,24 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ AAABAAEAEBAAAAAAIABsAwAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAzNJ
+ REFUeJxVk99PHHUUxT8zO7OzC7vsLrsgQtYSaySxoUWk9oFSY1Otxvhg/J0YTXnwwUSJiX+AL/wDRquJ
+ 0fbBVPvSaGJsQ7WKlMYallBMoA0oQmAJS9lld2WYme/3O1+zpjX0Pt6ce+7JPfcYWmv21sjk8BDwLnAY
+ aAMsoApc16E+/dHQmUt78cZdgpHJ4QbwLPDS8/kTTibeRs1txg1AKg/JBj+tX5RKqstSqle+ePabf/4n
+ GJkctoGfB3IHBp/OP0nNc/AJWKwZRLXDlhuiZUAcl3V/gqni1KwU8ti5l7+tmneUnO3PPjx4tHOAsgoQ
+ poGUJrsyikuUsu9Q8uKsVm0eSDzOQEfPwcAXX/+n4L2rp44CVz449JY9K3fwDGhWCXCzrO3Y+MLg5kod
+ woD7Osq055Z4LNbFh99/qqSQLzYUvH+y84hd8naoI1FhjlaVZu62QaUON5brBE4Fa/8fVLIF5lWRuY0V
+ Xu09Hgl88U7jcIfzLV3MuEU2YyaPRPYTIlkuBXjeLqkOTa11jMVwG3xNWjosbPqc6O5H+LK3QZBtsppZ
+ douUfJdk04NsB0kqlZBUm0d7xmVT9VHzb+DoOvXbW5S3m0jEk4hApi2ttWFoCPwamjyWrbj4m8CIJ1hf
+ lJi6hc62XZL1IWprAo8pRLAEWiOlNCwlw3ItqHVlI2mSsUOsblp4wiYac4i1x/nzry2839MQeqTabdLN
+ XaQiJSo7VZQMq6YUcvrv8goPNeUpliYJ7TWiER/huQhhEU1kcFpjWDET21BEgk0678+xVFxquDhvikB+
+ fOHmuNyXaMNy16huXSOT8bGkj21oHDOCFQRk8quk2n/F3L1FX76X0z9eaLzw5+aXz50fC3zxw9jcOE90
+ 9ZGKNJNJhKSiipaoR9L2SccFrdYEZnGZ/gM9XC6MN7aPF0ZnzjVcQPjijV8WZq76u8HBk48e41bJIlLV
+ SKOOCE1IKPL7uunp7ebK9DUuzV5fAF6/J0zPfHI8KYU8L4V66s3BUxaqA62bMEyDXKrGRnmaz8a+U8AE
+ 8FphdGbjHoK7NTh65AUl1dtKhb2hCjN32o04zwNnCqMzX+0d+BfEDZRfNsnANgAAAABJRU5ErkJggg==
+
+
\ No newline at end of file
diff --git a/ArinWarev1/Forms_Basic/Frm_WwwrootExtract.Designer.vb b/ArinWarev1/Forms_Basic/Frm_WwwrootExtract.Designer.vb
new file mode 100644
index 0000000..f25ed83
--- /dev/null
+++ b/ArinWarev1/Forms_Basic/Frm_WwwrootExtract.Designer.vb
@@ -0,0 +1,92 @@
+ _
+Partial Class Frm_WwwrootExtract
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Me.lblStatus = New System.Windows.Forms.Label()
+ Me.progressBar = New System.Windows.Forms.ProgressBar()
+ Me.lblPercentage = New System.Windows.Forms.Label()
+ Me.lblTitle = New System.Windows.Forms.Label()
+ Me.SuspendLayout()
+ '
+ 'lblStatus
+ '
+ Me.lblStatus.AutoSize = True
+ Me.lblStatus.Location = New System.Drawing.Point(30, 90)
+ Me.lblStatus.Name = "lblStatus"
+ Me.lblStatus.Size = New System.Drawing.Size(113, 12)
+ Me.lblStatus.TabIndex = 0
+ Me.lblStatus.Text = "압축 해제 준비 중..."
+ '
+ 'progressBar
+ '
+ Me.progressBar.Location = New System.Drawing.Point(30, 110)
+ Me.progressBar.Name = "progressBar"
+ Me.progressBar.Size = New System.Drawing.Size(440, 30)
+ Me.progressBar.TabIndex = 1
+ '
+ 'lblPercentage
+ '
+ Me.lblPercentage.AutoSize = True
+ Me.lblPercentage.Font = New System.Drawing.Font("굴림", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
+ Me.lblPercentage.Location = New System.Drawing.Point(30, 150)
+ Me.lblPercentage.Name = "lblPercentage"
+ Me.lblPercentage.Size = New System.Drawing.Size(23, 12)
+ Me.lblPercentage.TabIndex = 2
+ Me.lblPercentage.Text = "0%"
+ '
+ 'lblTitle
+ '
+ Me.lblTitle.AutoSize = True
+ Me.lblTitle.Font = New System.Drawing.Font("굴림", 11.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
+ Me.lblTitle.Location = New System.Drawing.Point(30, 30)
+ Me.lblTitle.Name = "lblTitle"
+ Me.lblTitle.Size = New System.Drawing.Size(239, 15)
+ Me.lblTitle.TabIndex = 3
+ Me.lblTitle.Text = "매뉴얼 파일 압축 해제 중입니다"
+ '
+ 'Frm_WwwrootExtract
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(500, 200)
+ Me.Controls.Add(Me.lblTitle)
+ Me.Controls.Add(Me.lblPercentage)
+ Me.Controls.Add(Me.progressBar)
+ Me.Controls.Add(Me.lblStatus)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "Frm_WwwrootExtract"
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
+ Me.Text = "압축 해제 중"
+ Me.TopMost = True
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+
+ Friend WithEvents lblStatus As Label
+ Friend WithEvents progressBar As ProgressBar
+ Friend WithEvents lblPercentage As Label
+ Friend WithEvents lblTitle As Label
+End Class
diff --git a/ArinWarev1/Forms_Basic/Frm_WwwrootExtract.resx b/ArinWarev1/Forms_Basic/Frm_WwwrootExtract.resx
new file mode 100644
index 0000000..d58980a
--- /dev/null
+++ b/ArinWarev1/Forms_Basic/Frm_WwwrootExtract.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/ArinWarev1/Forms_Basic/Frm_WwwrootExtract.vb b/ArinWarev1/Forms_Basic/Frm_WwwrootExtract.vb
new file mode 100644
index 0000000..ff2396b
--- /dev/null
+++ b/ArinWarev1/Forms_Basic/Frm_WwwrootExtract.vb
@@ -0,0 +1,101 @@
+Imports System.IO
+Imports System.IO.Compression
+Imports System.Threading.Tasks
+
+Public Class Frm_WwwrootExtract
+
+ Private Sub Frm_WwwrootExtract_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+
+ Me.Show()
+ Application.DoEvents()
+
+ ' 폼이 로드될 때 자동으로 압축 해제 시작
+ ExtractWwwrootAsync()
+ End Sub
+
+ Private Async Sub ExtractWwwrootAsync()
+ Try
+
+ Dim extractPath As String = Path.Combine(Application.StartupPath, "wwwroot")
+ Dim zipPath As String = Path.Combine(extractPath, "wwwroot.zip")
+
+ ' ZIP 파일 존재 여부 확인
+ If Not File.Exists(zipPath) Then
+ lblStatus.Text = "wwwroot.zip 파일을 찾을 수 없습니다."
+ MessageBox.Show("wwwroot.zip 파일이 존재하지 않습니다.", "오류", MessageBoxButtons.OK, MessageBoxIcon.Error)
+ Me.DialogResult = DialogResult.Cancel
+ Me.Close()
+ Return
+ End If
+
+ ' 압축 해제 작업을 별도 Task로 실행
+ Await Task.Run(Sub()
+ ExtractZipWithProgress(zipPath, extractPath)
+ End Sub)
+
+ ' 완료
+ lblStatus.Text = "압축 해제 완료!"
+ lblPercentage.Text = "100%"
+ progressBar.Value = 100
+ Application.DoEvents()
+
+ ' 잠시 대기 후 폼 닫기
+ Await Task.Delay(500)
+ Me.DialogResult = DialogResult.OK
+ Me.Close()
+
+ Catch ex As Exception
+ lblStatus.Text = "오류 발생: " & ex.Message
+ MessageBox.Show("압축 해제 중 오류가 발생했습니다: " & ex.Message, "오류", MessageBoxButtons.OK, MessageBoxIcon.Error)
+ Me.DialogResult = DialogResult.Cancel
+ Me.Close()
+ End Try
+ End Sub
+
+ Private Sub ExtractZipWithProgress(zipPath As String, extractPath As String)
+ Using archive As ZipArchive = ZipFile.OpenRead(zipPath)
+ Dim totalEntries As Integer = archive.Entries.Count
+ Dim currentEntry As Integer = 0
+
+ For Each entry As ZipArchiveEntry In archive.Entries
+ currentEntry += 1
+
+ ' UI 업데이트 (UI 스레드에서 실행)
+ Me.Invoke(Sub()
+ Dim percentage As Integer = CInt((currentEntry / totalEntries) * 100)
+ progressBar.Value = percentage
+ lblPercentage.Text = percentage.ToString() & "%"
+ lblStatus.Text = $"압축 해제 중... ({currentEntry}/{totalEntries}) {entry.Name}"
+ Application.DoEvents()
+ End Sub)
+
+ ' 전체 경로 생성
+ Dim destinationPath As String = Path.Combine(extractPath, entry.FullName)
+
+ ' 디렉토리 항목인 경우
+ If entry.FullName.EndsWith("/") OrElse entry.FullName.EndsWith("\") Then
+ Directory.CreateDirectory(destinationPath)
+ Continue For
+ End If
+
+ ' 파일의 디렉토리가 없으면 생성
+ Dim directoryPath As String = Path.GetDirectoryName(destinationPath)
+ If Not Directory.Exists(directoryPath) Then
+ Directory.CreateDirectory(directoryPath)
+ End If
+
+ ' 파일 추출
+ entry.ExtractToFile(destinationPath, True)
+ Next
+ End Using
+ End Sub
+
+ Private Sub Frm_WwwrootExtract_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
+ ' 압축 해제가 진행 중일 때는 폼을 닫을 수 없도록 설정 (사용자가 X 버튼을 누른 경우)
+ If e.CloseReason = CloseReason.UserClosing AndAlso progressBar.Value < 100 Then
+ e.Cancel = True
+ MessageBox.Show("압축 해제가 진행 중입니다. 잠시만 기다려 주세요.", "알림", MessageBoxButtons.OK, MessageBoxIcon.Information)
+ End If
+ End Sub
+
+End Class
diff --git a/ArinWarev1/MdiMain.Designer.vb b/ArinWarev1/MdiMain.Designer.vb
index f364a79..a0bb302 100644
--- a/ArinWarev1/MdiMain.Designer.vb
+++ b/ArinWarev1/MdiMain.Designer.vb
@@ -91,7 +91,7 @@ Partial Class MdiMain
Me.CloseAllToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ArrangeIconsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.btcustomprofile = New System.Windows.Forms.ToolStripMenuItem()
- Me.ManualToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.btManual = New System.Windows.Forms.ToolStripMenuItem()
Me.TreeView1 = New System.Windows.Forms.TreeView()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.그룹추가ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
@@ -179,7 +179,7 @@ Partial Class MdiMain
'MenuStrip1
'
Me.MenuStrip1.Font = New System.Drawing.Font("돋움", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
- Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReportToolStripMenuItem, Me.건물개요ToolStripMenuItem, Me.환경설정ToolStripMenuItem, Me.bt_계산결과, Me.결과그래프ToolStripMenuItem, Me.정보ToolStripMenuItem1, Me.bt_etc, Me.WindowsMenu, Me.btcustomprofile, Me.ManualToolStripMenuItem})
+ Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReportToolStripMenuItem, Me.건물개요ToolStripMenuItem, Me.환경설정ToolStripMenuItem, Me.bt_계산결과, Me.결과그래프ToolStripMenuItem, Me.정보ToolStripMenuItem1, Me.bt_etc, Me.WindowsMenu, Me.btcustomprofile, Me.btManual})
Me.MenuStrip1.Location = New System.Drawing.Point(0, 0)
Me.MenuStrip1.MdiWindowListItem = Me.WindowsMenu
Me.MenuStrip1.Name = "MenuStrip1"
@@ -555,12 +555,13 @@ Partial Class MdiMain
Me.btcustomprofile.Text = "커스텀프로필"
Me.btcustomprofile.Visible = False
'
- 'ManualToolStripMenuItem
+ 'btManual
'
- Me.ManualToolStripMenuItem.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
- Me.ManualToolStripMenuItem.Name = "ManualToolStripMenuItem"
- Me.ManualToolStripMenuItem.Size = New System.Drawing.Size(59, 20)
- Me.ManualToolStripMenuItem.Text = "Manual"
+ Me.btManual.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
+ Me.btManual.Image = CType(resources.GetObject("btManual.Image"), System.Drawing.Image)
+ Me.btManual.Name = "btManual"
+ Me.btManual.Size = New System.Drawing.Size(69, 20)
+ Me.btManual.Text = "설명서"
'
'TreeView1
'
@@ -829,5 +830,5 @@ Partial Class MdiMain
Friend WithEvents BatchUpdateProfileToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents btcustomprofile As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents btMacro2 As System.Windows.Forms.ToolStripMenuItem
- Friend WithEvents ManualToolStripMenuItem As ToolStripMenuItem
+ Friend WithEvents btManual As ToolStripMenuItem
End Class
diff --git a/ArinWarev1/MdiMain.resx b/ArinWarev1/MdiMain.resx
index 341120f..68dc0bf 100644
--- a/ArinWarev1/MdiMain.resx
+++ b/ArinWarev1/MdiMain.resx
@@ -248,6 +248,27 @@
b6AQ75sCVnsVfDHIceuzCVkfYyw4KQ2Mqa8QnWkVq15THp6eXNzdMla0d1nuyiIoVKNTHJMGrFWX2Jhu
IjLRwPp4HeGRGrEaFNQEhh/it1TSde9IOmC327HZbAyVX+Bd6TnxUKYHZ+hVnsKQfwL9/eNoc4/SKT9M
h+wQKpVKnLQN/mV+AQV66PCS6TFTAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAANbSURBVDhPZZPdT1MHHIZ7sd3N7HL7Lxq7uUUzZjYS
+ nC7olATkcxwXyiD0RMKGWAMBJGpEJhhl0sKGIIWC7FDoh2C/gAO1UqCFQqHUwpA5YGMYN9wyzJ6lZFvQ
+ Xbx3v+f53byvAlDsjigLcaIsdIqysCjKwm+iLPwhysKaKAu9mqHsj16+3w2+IsrC7Rhw7/s2fOsDOJdG
+ MIdH6Ak5uBMykOfM3FYPpFlPWVNee0EgysKroizILXNXWN0aJ7wRZHpjAmlxEkt0lpZgkFv+CTr9MnXe
+ i2RKSYHUzmOv7xa0NYcuEn3qZvaph5nNGSbX/BgWZuiKRqgdX6D6foivBr1IMw7qPFqSWo9YdwSiLLwn
+ ysKfy7+6MW9auPPEgm1jENujII1z89yYDqOxjKPp81A1ZkG3eJ3xHyUS9QnPD9d/eCwm6LZEb+L7yUL7
+ pgnjL1686wFqJmeoHptHbR4n126ncFZHUbSSwoiWVn8dt+9fIv5qXH9MsDz1cx8ty3pq1puwbQTxrPsR
+ +ydRm3x86R0jd6GYxHk1iaEcMqcLKLtXxNBCG+9f2v84JtiKPHFyfq4CzcIZdD+4aF/0kdnxgALHENXh
+ u2TPGTgYOEOCP59P7KkUdH3GxEov+yv3PVNohrOfPdx0UhoooiBQyzdLdrLaPWT1TJPUMIpoH0UbkNDI
+ Zj41SqQYz5HbmsbEIxP7yvb+rsh3Za1MrvVQGzzP5YiLyrFhklt8ZEhh0qUIH+u8xF9wEV9l44Sun1Nt
+ 9RQbcnDMtaDSKlcV6oG0Xil0DXO0mdOjVZT7O8hoGyGl3U9y5xLHDWGO3PRw6Eo/KXorOd9WUOs6S6Oz
+ IiZwKQRzckKmlLQ9vW7hC3sehQ4RjdVJequX9K5FTnY85Oi1QU4am1CbSsitT8MdMcTgv1RaZdpOkVI6
+ jppq3MX0hRood5+lbMhOvnGUPFOInO5ZsvR28ruz+fzrVBoGKzhnzN35/l8TT9w6vCdRnxC4YDuNZ/U7
+ mqfcVPSNUGp+QInko6S9nxu+cuzhZrQd6hgcVmmVb74wpkPXP9gTfzXOevDyge2mET1NQ300DjpoGnZi
+ mupB5y6Lgc9jn1Va5Rv/W+O/OVD1zvF3y9+yvV26d0WlVW79k8cqrdKh0iozXr7/G9y9vOYtj3fFAAAA
+ AElFTkSuQmCC
@@ -330,73 +351,73 @@
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
- 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
+ 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
- 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
+ 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
- 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
- 2FiAVmb3aQAAAABJRU5ErkJggg==
+ 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
+ WG90MeopAAAAAElFTkSuQmCC
diff --git a/ArinWarev1/MdiMain.vb b/ArinWarev1/MdiMain.vb
index 700db11..fff6c25 100644
--- a/ArinWarev1/MdiMain.vb
+++ b/ArinWarev1/MdiMain.vb
@@ -86,7 +86,8 @@ Public Class MdiMain
Refresh_info()
-
+ '// wwwroot 폴더 확인 및 압축 해제
+ CheckAndExtractWwwroot()
Read_SEtting() '//환경설정을 가져온다. Splah를 변경했따.
Read_FilHistory() '//파일사용내역
@@ -291,6 +292,35 @@ Public Class MdiMain
End Sub
+ Private Sub CheckAndExtractWwwroot()
+ Try
+ ' wwwroot 폴더 경로 확인
+ Dim wwwrootPath As String = Path.Combine(Application.StartupPath, "wwwroot")
+ Dim indexHtmlPath As String = Path.Combine(wwwrootPath, "index.html")
+ Dim zipPath As String = Path.Combine(wwwrootPath, "wwwroot.zip")
+
+ ' wwwroot 폴더가 없거나 index.html이 없는 경우
+ If (Not Directory.Exists(wwwrootPath) OrElse Not File.Exists(indexHtmlPath)) Then
+ ' wwwroot.zip 파일이 존재하는지 확인
+ If File.Exists(zipPath) Then
+ ' 압축 해제 폼 표시
+ Dim extractForm As New Frm_WwwrootExtract()
+ extractForm.ShowDialog()
+
+ ' 압축 해제가 실패한 경우
+ If extractForm.DialogResult <> DialogResult.OK Then
+ MessageBox.Show("매뉴얼 파일 압축 해제에 실패했습니다." & vbCrLf & "일부 기능이 제한될 수 있습니다.",
+ "경고", MessageBoxButtons.OK, MessageBoxIcon.Warning)
+ End If
+ End If
+ End If
+ Catch ex As Exception
+ ' 오류가 발생해도 프로그램은 계속 실행
+ MessageBox.Show("매뉴얼 파일 확인 중 오류가 발생했습니다: " & ex.Message,
+ "경고", MessageBoxButtons.OK, MessageBoxIcon.Warning)
+ End Try
+ End Sub
+
Private Sub bt_fileopen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
@@ -3968,7 +3998,7 @@ ENDSTAT: '//오류발생시 강제종료를 위한 분기문
Dim frmManual As Frm_WebManual = Nothing
- Private Sub ManualToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ManualToolStripMenuItem.Click
+ Private Sub ManualToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles btManual.Click
Try
If frmManual Is Nothing OrElse frmManual.IsDisposed Then
frmManual = New Frm_WebManual()
diff --git a/Dotfuscator1_v2010.xml b/Dotfuscator1_v2010.xml
index 242a0b1..0dfc9bd 100644
--- a/Dotfuscator1_v2010.xml
+++ b/Dotfuscator1_v2010.xml
@@ -1,39 +1,40 @@
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -48,778 +49,778 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1299,9 +1300,8 @@
-
+
-
diff --git a/Setup1/Setup1.vdproj b/Setup1/Setup1.vdproj
index 7a181c8..7316a1c 100644
--- a/Setup1/Setup1.vdproj
+++ b/Setup1/Setup1.vdproj
@@ -1125,6 +1125,12 @@
}
"Entry"
{
+ "MsmKey" = "8:_EDDA88464F3D4868A4D31EB154F946A3"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_EEFCE67CA4744ADF98423F68123415AC"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -1186,25 +1192,7 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_4608D921DC658CD173C039AF16C5E283"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_59B3512FD7C9D2430BF7B3C6379B9C9D"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_36E293D174759AFAAD42CF70AA63402C"
+ "OwnerKey" = "8:_F7DF6157CD83D46091E6404B3E2CE830"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -1216,25 +1204,13 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_29FE169CCEBDEB4C07246AF3E1D7D1EF"
+ "OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_F7DF6157CD83D46091E6404B3E2CE830"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_691C9DA50302E0464D0E64E97C1242A2"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_4B290A29E53110D5B83008A4DD0873A2"
+ "OwnerKey" = "8:_BFCB09EF0CA43B0269B207A4DB42D1BF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -1246,7 +1222,37 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_BFCB09EF0CA43B0269B207A4DB42D1BF"
+ "OwnerKey" = "8:_691C9DA50302E0464D0E64E97C1242A2"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_UNDEFINED"
+ "OwnerKey" = "8:_59B3512FD7C9D2430BF7B3C6379B9C9D"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_UNDEFINED"
+ "OwnerKey" = "8:_4B290A29E53110D5B83008A4DD0873A2"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_UNDEFINED"
+ "OwnerKey" = "8:_4608D921DC658CD173C039AF16C5E283"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_UNDEFINED"
+ "OwnerKey" = "8:_36E293D174759AFAAD42CF70AA63402C"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_UNDEFINED"
+ "OwnerKey" = "8:_29FE169CCEBDEB4C07246AF3E1D7D1EF"
"MsmSig" = "8:_UNDEFINED"
}
}
@@ -1276,11 +1282,6 @@
"ComponentsUrl" = "8:"
"Items"
{
- "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.0"
- {
- "Name" = "8:Microsoft .NET Framework 4(x86 및 x64)"
- "ProductCode" = "8:.NETFramework,Version=v4.0"
- }
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.8"
{
"Name" = "8:Microsoft .NET Framework 4.8(x86 및 x64)"
@@ -5110,6 +5111,26 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_EDDA88464F3D4868A4D31EB154F946A3"
+ {
+ "SourcePath" = "8:C:\\eco2\\debug_2016\\wwwroot\\wwwroot.zip"
+ "TargetName" = "8:wwwroot.zip"
+ "Tag" = "8:"
+ "Folder" = "8:_0824271A37F9420DBDD958E10624F020"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_EEFCE67CA4744ADF98423F68123415AC"
{
"SourcePath" = "8:C:\\eco2\\debug_2016\\WebView2Runtime\\msedge_elf.dll"
@@ -5317,6 +5338,17 @@
"Property" = "8:TARGETDIR"
"Folders"
{
+ "{9EF0B969-E518-4E46-987F-47570745A589}:_0824271A37F9420DBDD958E10624F020"
+ {
+ "Name" = "8:wwwroot"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:_B229286B7A1047BBB6C5EF3FC994B34D"
+ "Folders"
+ {
+ }
+ }
"{9EF0B969-E518-4E46-987F-47570745A589}:_A02FAE1984434D0C9BCF4CCA745960F5"
{
"Name" = "8:Data"