Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d0ca1c8813 | |||
| 6fbfa52a00 | |||
| 1fd7c25c8d | |||
| 132ddc6495 | |||
| 1d6c51df3b | |||
| 40842778e0 | |||
| 6cd2abe560 | |||
| 0eaeeb0aac |
8
.gitignore
vendored
8
.gitignore
vendored
@@ -8,3 +8,11 @@ obj
|
||||
/Setup1/Debug
|
||||
/Dotfuscated
|
||||
UpgradeLog.htm
|
||||
Packages
|
||||
.vs
|
||||
/NUL
|
||||
|
||||
# WebView2 Runtime (Fixed Version - 약 100-150MB, 설치 프로그램에 포함)
|
||||
WebView2Runtime/
|
||||
# WebView2 User Data (캐시, 쿠키 등 - 런타임 시 자동 생성)
|
||||
WebView2Data/
|
||||
|
||||
4
.vscode/settings.json
vendored
Normal file
4
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"dotnet.preferCSharpExtension": true,
|
||||
"dotnet.defaultSolution": "ArinWareT4.sln"
|
||||
}
|
||||
@@ -13,7 +13,7 @@
|
||||
<AssemblyName>ArinLog.Net4</AssemblyName>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<MyType>Windows</MyType>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2010
|
||||
# Visual Studio 2022
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SubProject", "SubProject", "{4D184935-DE50-4DBA-9EBF-8C66C579B7DC}"
|
||||
EndProject
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ECO2_2025V1", "ArinWarev1\ECO2_2025V1.vbproj", "{D5C51BDE-68E5-42BC-B648-DB9CCF044703}"
|
||||
@@ -17,6 +17,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Utility", "Utility\Utility.
|
||||
EndProject
|
||||
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Setup1", "Setup1\Setup1.vdproj", "{0E52FBAC-1A86-4722-93D0-CA7B8570B617}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A01A7396-C1BE-4D13-8B51-C9C1830DA088}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
CLAUDE.md = CLAUDE.md
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
CD_ROM|Any CPU = CD_ROM|Any CPU
|
||||
|
||||
@@ -29,8 +29,10 @@
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<ApplicationManifest>My Project\app.manifest</ApplicationManifest>
|
||||
<ApplicationIcon>002.ico</ApplicationIcon>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile />
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
<PublishUrl>ftp://tindevil.com/www/mynetapp/t4/</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Web</InstallFrom>
|
||||
@@ -57,7 +59,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>..\..\..\..\..\eco2\debug_2016\</OutputPath>
|
||||
<OutputPath>c:\eco2\debug_2016\</OutputPath>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42353,42354,42355</NoWarn>
|
||||
@@ -113,10 +115,21 @@
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<Reference Include="Microsoft.ReportViewer.WinForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
|
||||
<Reference Include="Microsoft.Web.WebView2.Core, Version=1.0.3537.50, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Web.WebView2.1.0.3537.50\lib\net462\Microsoft.Web.WebView2.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.WebView2.WinForms, Version=1.0.3537.50, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Web.WebView2.1.0.3537.50\lib\net462\Microsoft.Web.WebView2.WinForms.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.WebView2.Wpf, Version=1.0.3537.50, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Web.WebView2.1.0.3537.50\lib\net462\Microsoft.Web.WebView2.Wpf.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<Reference Include="System.IO.Compression.FileSystem" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
@@ -173,6 +186,18 @@
|
||||
<Compile Include="Forms_Basic\frm_batch.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms_Basic\Frm_WebManual.Designer.vb">
|
||||
<DependentUpon>Frm_WebManual.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms_Basic\Frm_WebManual.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms_Basic\Frm_WwwrootExtract.Designer.vb">
|
||||
<DependentUpon>Frm_WwwrootExtract.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms_Basic\Frm_WwwrootExtract.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms_Basic\fSelectWeatherGroup.Designer.vb">
|
||||
<DependentUpon>fSelectWeatherGroup.vb</DependentUpon>
|
||||
</Compile>
|
||||
@@ -497,6 +522,12 @@
|
||||
<EmbeddedResource Include="Forms_Basic\frm_batch.resx">
|
||||
<DependentUpon>frm_batch.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms_Basic\Frm_WebManual.resx">
|
||||
<DependentUpon>Frm_WebManual.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms_Basic\Frm_WwwrootExtract.resx">
|
||||
<DependentUpon>Frm_WwwrootExtract.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms_Basic\Frm_Work.resx">
|
||||
<DependentUpon>Frm_Work.vb</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -688,6 +719,9 @@
|
||||
<None Include="DataSet\DS2.xss">
|
||||
<DependentUpon>DS2.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="Template\EBWebView.zip">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="login.dat">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
@@ -702,6 +736,7 @@
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Resources\user_24.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -756,7 +791,7 @@
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<ProductName>.NET Framework Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
|
||||
@@ -789,6 +824,9 @@
|
||||
<Content Include="icon5.ico" />
|
||||
<None Include="Resources\select_by_difference.png" />
|
||||
<None Include="Resources\page_copy.png" />
|
||||
<Content Include="WebView2Loader.dll">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="단축키.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
@@ -807,6 +845,12 @@
|
||||
<Content Include="Forms_Input\ReadMe.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="Template\WebView2Runtime.zip">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Template\wwwroot.zip">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="방위2.png" />
|
||||
<None Include="방위.png" />
|
||||
<None Include="방위.jpg" />
|
||||
@@ -857,6 +901,13 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
|
||||
<Import Project="..\packages\Microsoft.Web.WebView2.1.0.3537.50\build\Microsoft.Web.WebView2.targets" Condition="Exists('..\packages\Microsoft.Web.WebView2.1.0.3537.50\build\Microsoft.Web.WebView2.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. 해당 패키지를 다운로드하려면 NuGet 패키지 복원을 사용하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오. 누락된 파일은 {0}입니다.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\Microsoft.Web.WebView2.1.0.3537.50\build\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Web.WebView2.1.0.3537.50\build\Microsoft.Web.WebView2.targets'))" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
|
||||
58
ArinWarev1/Forms_Basic/Frm_WebManual.Designer.vb
generated
Normal file
58
ArinWarev1/Forms_Basic/Frm_WebManual.Designer.vb
generated
Normal file
@@ -0,0 +1,58 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Frm_WebManual
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
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
|
||||
|
||||
'Windows Form 디자이너에 필요합니다.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
|
||||
'수정하려면 Windows Form 디자이너를 사용하십시오.
|
||||
'코드 편집기에서는 수정하지 마세요.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
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()
|
||||
'
|
||||
'WebView21
|
||||
'
|
||||
Me.WebView21.AllowExternalDrop = True
|
||||
Me.WebView21.CreationProperties = Nothing
|
||||
Me.WebView21.DefaultBackgroundColor = System.Drawing.Color.White
|
||||
Me.WebView21.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.WebView21.Location = New System.Drawing.Point(0, 0)
|
||||
Me.WebView21.Name = "WebView21"
|
||||
Me.WebView21.Size = New System.Drawing.Size(1350, 700)
|
||||
Me.WebView21.TabIndex = 0
|
||||
Me.WebView21.ZoomFactor = 1.0R
|
||||
'
|
||||
'Frm_WebManual
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
|
||||
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 = "사용자 매뉴얼"
|
||||
CType(Me.WebView21, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents WebView21 As Microsoft.Web.WebView2.WinForms.WebView2
|
||||
End Class
|
||||
140
ArinWarev1/Forms_Basic/Frm_WebManual.resx
Normal file
140
ArinWarev1/Forms_Basic/Frm_WebManual.resx
Normal file
@@ -0,0 +1,140 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
89
ArinWarev1/Forms_Basic/Frm_WebManual.vb
Normal file
89
ArinWarev1/Forms_Basic/Frm_WebManual.vb
Normal file
@@ -0,0 +1,89 @@
|
||||
Imports System.IO
|
||||
Imports System.Threading.Tasks
|
||||
Imports Microsoft.Web.WebView2.Core
|
||||
|
||||
Public Class Frm_WebManual
|
||||
|
||||
Private Async Sub Frm_WebManual_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
Try
|
||||
' WebView2 초기화
|
||||
|
||||
Await InitializeWebView2Async()
|
||||
|
||||
|
||||
|
||||
Try
|
||||
|
||||
|
||||
' 가상 호스팅 설정
|
||||
If WebView21.CoreWebView2 Is Nothing Then
|
||||
Return
|
||||
End If
|
||||
|
||||
' wwwroot 경로 확인
|
||||
Dim _wwwrootPath As String = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wwwroot")
|
||||
If String.IsNullOrEmpty(_wwwrootPath) Then
|
||||
_wwwrootPath = Path.Combine(Application.StartupPath, "wwwroot")
|
||||
End If
|
||||
|
||||
' 디렉토리가 없으면 생성
|
||||
If Not Directory.Exists(_wwwrootPath) Then
|
||||
Directory.CreateDirectory(_wwwrootPath)
|
||||
End If
|
||||
|
||||
' 가상 호스트 매핑 설정
|
||||
' https://eco2.local/ -> 로컬 폴더 매핑
|
||||
WebView21.CoreWebView2.SetVirtualHostNameToFolderMapping(
|
||||
"eco2.local",
|
||||
_wwwrootPath,
|
||||
CoreWebView2HostResourceAccessKind.Allow)
|
||||
|
||||
|
||||
If WebView21 IsNot Nothing AndAlso WebView21.CoreWebView2 IsNot Nothing Then
|
||||
' 가상 호스트 URL 사용
|
||||
Dim url As String = "https://eco2.local/index.html"
|
||||
WebView21.CoreWebView2.Navigate(url)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MessageBox.Show("웹페이지 이동 중 오류가 발생했습니다: " & ex.Message,
|
||||
"오류", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
End Try
|
||||
|
||||
Catch ex As Exception
|
||||
MessageBox.Show("웹페이지 로드 중 오류가 발생했습니다: " & ex.Message,
|
||||
"오류", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Async Function InitializeWebView2Async() As Task
|
||||
Try
|
||||
' Fixed Version 경로 설정
|
||||
Dim fixedVersionPath = Path.Combine(Application.StartupPath, "WebView2Runtime")
|
||||
Dim userDataFolder = Path.Combine(Application.StartupPath, "WebView2Data")
|
||||
|
||||
' Fixed Version이 있는지 확인
|
||||
If Directory.Exists(fixedVersionPath) Then
|
||||
' Fixed Version 사용
|
||||
Dim env = Await CoreWebView2Environment.CreateAsync(fixedVersionPath, userDataFolder)
|
||||
Await WebView21.EnsureCoreWebView2Async(env)
|
||||
Else
|
||||
' 시스템에 설치된 Runtime 사용 (폴백)
|
||||
Await WebView21.EnsureCoreWebView2Async(Nothing)
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
' WebView2 Runtime을 찾을 수 없는 경우
|
||||
MessageBox.Show(
|
||||
"WebView2 구성 요소를 찾을 수 없습니다." & vbCrLf & vbCrLf &
|
||||
"프로그램 설치가 올바르지 않을 수 있습니다." & vbCrLf &
|
||||
"관리자에게 문의하시기 바랍니다.",
|
||||
"오류",
|
||||
MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Error)
|
||||
|
||||
Me.Close()
|
||||
End Try
|
||||
End Function
|
||||
|
||||
|
||||
End Class
|
||||
94
ArinWarev1/Forms_Basic/Frm_WwwrootExtract.Designer.vb
generated
Normal file
94
ArinWarev1/Forms_Basic/Frm_WwwrootExtract.Designer.vb
generated
Normal file
@@ -0,0 +1,94 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Frm_WwwrootExtract
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form overrides dispose to clean up the component list.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
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.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
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(34, 112)
|
||||
Me.lblStatus.Name = "lblStatus"
|
||||
Me.lblStatus.Size = New System.Drawing.Size(142, 15)
|
||||
Me.lblStatus.TabIndex = 0
|
||||
Me.lblStatus.Text = "압축 해제 준비 중..."
|
||||
'
|
||||
'progressBar
|
||||
'
|
||||
Me.progressBar.Location = New System.Drawing.Point(34, 138)
|
||||
Me.progressBar.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
|
||||
Me.progressBar.Name = "progressBar"
|
||||
Me.progressBar.Size = New System.Drawing.Size(503, 38)
|
||||
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(34, 188)
|
||||
Me.lblPercentage.Name = "lblPercentage"
|
||||
Me.lblPercentage.Size = New System.Drawing.Size(28, 15)
|
||||
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(34, 38)
|
||||
Me.lblTitle.Name = "lblTitle"
|
||||
Me.lblTitle.Size = New System.Drawing.Size(297, 19)
|
||||
Me.lblTitle.TabIndex = 3
|
||||
Me.lblTitle.Text = "런타임 파일 압축 해제 중입니다"
|
||||
'
|
||||
'Frm_WwwrootExtract
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 15.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(571, 250)
|
||||
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.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
|
||||
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
|
||||
120
ArinWarev1/Forms_Basic/Frm_WwwrootExtract.resx
Normal file
120
ArinWarev1/Forms_Basic/Frm_WwwrootExtract.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
109
ArinWarev1/Forms_Basic/Frm_WwwrootExtract.vb
Normal file
109
ArinWarev1/Forms_Basic/Frm_WwwrootExtract.vb
Normal file
@@ -0,0 +1,109 @@
|
||||
Imports System.IO
|
||||
Imports System.IO.Compression
|
||||
Imports System.Threading.Tasks
|
||||
|
||||
Public Class Frm_WwwrootExtract
|
||||
|
||||
Dim extractPath As String
|
||||
Dim zipPath As String
|
||||
Public Sub New(targetpath As String, zipfile As String)
|
||||
InitializeComponent()
|
||||
Me.extractPath = targetpath
|
||||
Me.zipPath = zipfile
|
||||
End Sub
|
||||
|
||||
Private Sub Frm_WwwrootExtract_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
|
||||
Me.Show()
|
||||
Application.DoEvents()
|
||||
|
||||
' 폼이 로드될 때 자동으로 압축 해제 시작
|
||||
ExtractTemplateFiles()
|
||||
End Sub
|
||||
|
||||
Private Async Sub ExtractTemplateFiles()
|
||||
Try
|
||||
|
||||
' Dim extractPath As String = TargetPath ' 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
|
||||
13
ArinWarev1/MdiMain.Designer.vb
generated
13
ArinWarev1/MdiMain.Designer.vb
generated
@@ -91,6 +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.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()
|
||||
@@ -178,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.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"
|
||||
@@ -554,6 +555,14 @@ Partial Class MdiMain
|
||||
Me.btcustomprofile.Text = "커스텀프로필"
|
||||
Me.btcustomprofile.Visible = False
|
||||
'
|
||||
'btManual
|
||||
'
|
||||
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
|
||||
'
|
||||
Me.TreeView1.ContextMenuStrip = Me.ContextMenuStrip1
|
||||
@@ -821,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 btManual As ToolStripMenuItem
|
||||
End Class
|
||||
|
||||
@@ -248,6 +248,27 @@
|
||||
b6AQ75sCVnsVfDHIceuzCVkfYyw4KQ2Mqa8QnWkVq15THp6eXNzdMla0d1nuyiIoVKNTHJMGrFWX2Jhu
|
||||
IjLRwPp4HeGRGrEaFNQEhh/it1TSde9IOmC327HZbAyVX+Bd6TnxUKYHZ+hVnsKQfwL9/eNoc4/SKT9M
|
||||
h+wQKpVKnLQN/mV+AQV66PCS6TFTAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="btManual.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
@@ -330,73 +351,73 @@
|
||||
<data name="ToolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAA9cSURBVHhe7ZpZUFzZecd7ajyu2EmqkjhVeXCeUnn1Sx5T
|
||||
lXLlJVWpuJIXyx47tsf2ZEYSAoEkQEIsLXYQ+yY2gQZJLGIXkhASSI02NoFGC6MZAQKEBA3dDTSLAC3N
|
||||
P/V955x7T1/AksaeqnEVX9W/zu3bl3vv9+v/953Tt7HZtmM7tmM7tmM7tmM7bDabvWXy++kti3+f1Ljw
|
||||
A1JGm/fvks97/5aU1TT/N29S2iXnX1rP+WcRQTkDBaFFD1bSznyFP1Zx+cMvQnLv3NhRW/u+9Trf2tiV
|
||||
e2t50P0aL14D95yv0fzFy6+lsw9f4tLoa6Q2OHzBOQOR1ut8a+NQWc/ahYfLuDW0huyLC0i/8C5a5DGD
|
||||
tluFTvc9R3DWndWglJ5/tF7rWxnBWZ+vlnZ7RQIqsVaZlJak3/v6a3msefwC7Pa09f0FAzet1/pWhgLA
|
||||
SXBSi0hvJVkAcLL++zNaSQrColDrAgodS4g98dWrvdl9pXvyen8QkO/4q29Snxb3f2DN663jYOngSkmX
|
||||
SEpBoESMT1kmKZJV2xKGZn9+TwFrXUD7oxew25PWrY3ym1JQdn/vzoyuH1rze2MoACJ5LUH5iaraVgA4
|
||||
aZWsdIM43v/vy68tYWrBB88qcHN6/RtVtwuw24+u78nq67bm98YIIwC3VFK6rUUp+H/yAojpAn2fVg7a
|
||||
aP69Ki3t/LLcNp5LOs+AvfHvTS0ir30RrcOvsCenf9Fud3zHmuOWsWNH7fvUA4pvepF2wWs5sboh/aI6
|
||||
EB2Q9T0TiH4uQzTbaMduBnrD36h9F633Q/sWkH15CcFHe5f2ZXR9z5rnlvFju+M7BKDophdJjW7NxkKZ
|
||||
8mbpouLGpeSN+Ce1yTFbJWIc84ZzvY3o/uQ59uQOLL4TgE8/7f8grKRnrfCGF/F100hsdImktZvI1G9G
|
||||
7VPbFy3vGzJvio/Rj5fbNPLfKlg6FO064vwL5rHW+9HO+7UAhJb0rB277kXsmSnE1To1COYnJy6+pN2w
|
||||
tl9PRAIRshyvg+BRvG+V9bzmuS3Hq3No139nAB/ZHX9BAAqve2GvfobYmkkcOTOFhPoZpJ33mlPjxSWj
|
||||
OdHFRAPzyqTUOoB6iPlp+t+8PyB/UP5JbXxfgVzy+xDMfeax7wzgp/u6vheQ73hRcM2LqNMTiKmcQEz1
|
||||
MxxhEE4k1IuySGxyIbnZjaQmD5LPepBydhYpNDaL7eTmWaSenRNqEUo758XR8/NIJ+lTqUqiTTQvEr9W
|
||||
gNvk+5s4yzjGCkHuIwA2m+09a55bxn+HNf81Ach3zOFQxSgOV4wh6vQTVnTlBLvCXiOAxJ6ZRGzNFGLr
|
||||
nIirn0Z8nRPxtVJ10wyL1TCDxIYZxBO8erFNjuL99LrehcQGF4NNaphBUgON2r7GGSQR9HqxP6neheR6
|
||||
N5Ib3EhpdAk1uJHK226kNrmQ2uRBaoMbe4/2LtlsUADek9tbA1EA8q7OIqx0COHlIzj82WMcPjmGwyfH
|
||||
EXV6nEFEVz5FTJUQQ1EuIVXLscaEJYBNCWjUW2i7ZhJxNdRnpAhg3TSD0pVQO4mEM1NIrHMisW4KSfVO
|
||||
VnLdNJLqp5HcMI2UBieSG2akppHaOI2Uxhnsyrm1rHID/kDiKn5ib/l+qP3BS3JAWNkwDp0YQcRno4io
|
||||
GEPEyTFEniIITxBdRaLykAAoQQMAAZk0wGwmKiuxTa6aYFixtZOIq5tEHI31pCnEN0wiodGJxCYnEpqm
|
||||
kUhiR0hRKTaJManJjWQeXUhpmuEStdsHX0eXDq78IYWUPpwLzOl7aAEwj7AycoCAQOUQQSVxagxRp8gF
|
||||
oiRiqia4drtGX8L1fB2DLh/uzQjdnRb6fNqHO04f7kz50D/lw+0pH/pIkz70TPrQ/cyHrmc+3Hrqw82n
|
||||
PtyY8OH6Ex+uPfGh84kPV8d9uDLmQ8eYD+2kUR8uSbU9Frr4NdU64kPd/VeIr3P4GMAOe+13Q+33X+Z3
|
||||
ziO05JEog+PDOMggHksQY4g8Pc5uIOs2f74G3zrw5dQrZF1aRualZR6zLi8ju/05stqf85hDY8cKcjqe
|
||||
I4dHodwrK8i7soLcq6vI05TvWEWeY43HAh7XxNi5ioLOtT+p4k6MvWIAtBL8qOj+KyqB/cVf4kDJVwgt
|
||||
HULo8SGElxGIERz6bITdEFkxhpKuOZzuWUHWJdl9qWMThDYJ4dJzVvblZQHisoCRTRDaVxgKAcglEAxj
|
||||
VQC5SlAkCAlDyQ8CQdkkoXfVzrzuedkF8J4CEFz4BfYVPdRAPEI4gZBlEVM9gbLeeeRcWkQaf4kR83K6
|
||||
AtEmQChH8EggFAxDwhUEgB0hXcFSjlAwDBDCGfmd0iF/hCtSz7oRlDPgECWwo/b9A/b7r/M757C34AGC
|
||||
jw0ipPChACEhMIiyYeR3ulF4bQEpLfTFiSAsIY2/EPmDyFAgJAwFhN1AZaJc0b4iSmWTEiFnKAjsDumM
|
||||
PIJwVZSHcgcnJsvFmuxmCikenNud0fPv0gE22wH7vdf5nbMIzLuHoPz7DCLk2CD2kSOkG6hBlvXOIf3C
|
||||
PJLP0gKHACzgKINQjlhkCAxCiZ0h3cEwqEQUDM0RDEJzhAbCzxl6z2CHmDCEMzYmrCuzbQFBWb3jRvIG
|
||||
AIcHATl3sSf3HgLz7iMo/wGCC8gNg+yGtAtTKLrmRULjHANIPbeA1HOLOEo6r4FoFa6gkZ0h3bERhGqc
|
||||
sme0m87Q3ZCjSsNwhT8MbpxX1yzlIsBQwlQyOoDQE8NLARm9n/gB+HGRw0cAdmXdwe7sz7En5y4Cc+8h
|
||||
KO8+9hKIY4Mo7Z5FxoU5JDTOIvkslcECUs55kdpCIIQYxHkColwhIOgSMJaRedFSJtQnyB2GK8yZRLnC
|
||||
fxZRJSIbqDGL6M4QPUP0i1XkXHmOoMy+uQ3fFRSAnRn92JUxwCACNBAxVaMoujGPuFo3EpvmkNTsZReQ
|
||||
GEQLjcoVC0iVEBQI5Y50BcQok2X/fqEaKLlCNk/DFSyzRAxnqFK5umo4g3uFX5kIxeZPvAjMvp3ll7wB
|
||||
oNODT9L68Gn6bQEicwC7GcRdFN7wIP3CLGIZwDwDYAjN80hmGKIvCBAEwYsUBqE5gyAYzhAwVANVzqBv
|
||||
fWpaVdOpUSLKGQYQ6humI8zmqTlEgWBXrGBv9oB3098qFICPU3vwf0d7JYh+7MwYwL6iL1B8cxb2mmkc
|
||||
qfVwD0gkEQglAsGOkCAMGLJEZJmIEjFhCGcQCLNxGlOq7g6tX2SrfqEWWjyTbDKddoh+QbYnZ9DvFIFZ
|
||||
ty9ac+fYb7evF3R68Lvkbvw+pQcfp/ZKELeR0zGNjAseRJ6aRHz9LOIbZpHQQL2ANI9EJYZBziBXKCAE
|
||||
Y8HoGVweRs+QzdMAYTZONZuYM4mEoa04DSBazyBH8MpTrjNoyuWFV8cKQgr75nan9/2rNXcOAkAO+G3i
|
||||
Lfw2qYtBfJzSg53p/fzpx9Y4EV1FX4FnBYT6OcQTBF2N80ig/tAkYTQLIKJE9J4hy0RrnlwqEgTDkBBo
|
||||
NF2xzD1D9Qqx6jTFK08NCG3T8wKCkXZ+DgE5t4eseRshALjxm/ib+CjhJoP4XVIXkpomkNXmxuGTkzhS
|
||||
60Zs3SwrjiRhxDUQDHKGcoWQKhGjVLhneJGkYLTQaDpDjX6uoClVX19opWK4gnuG7BfcM4RDqL/Qe+SA
|
||||
Q+WPFndn9PzGmrcRDMDhxq9ir+PXcTckiFvc/OjTjyAAZzyIrSVRM5SjhCFcISVLRAExy0NC4QY6jyTq
|
||||
F82yX6jZhEHI2UTNIkp6ifAjuU1KRJYJ9RACSUDo2MD0fs8O++B3rXkboQD875Fr+FXsNfw67joiKoaQ
|
||||
1+FBePkEoqtcsNd4YD/jZhAmDBNKXJ0HseQIKcMVBMPoFxoQWSIChpxRuF/QDGKdUi29gqZT1Tx1EHJq
|
||||
TW2Z55koq20ZAfljNPUlWXP2i/2Fd3md/8sYB35p72QQ+Y5ZftJz8MRTxNS4WXZNDKLWzTODAUQvEVkm
|
||||
olS0MmkQELhUjBLxarOJbKDa+oKnVCoP2S8UEHPlaU6pBCmh0SNeX1xCUPaAd2929z9Yc/YLBeDD6Kv4
|
||||
RbSDvxPkdswhvPwJIk85EV3tQky125CdRj8YCogAIUYqFQGEoRgwBAizRFTP8G+gmzZP5QrdHdQ4tfVF
|
||||
QtMsAyAYdnvyelB2X5M13w0hALjw88gr+DDqCjLbaNU3hdAyegrkEqpyCRA8mjBYBgxygwnjiAGB3OHZ
|
||||
4Iw46Qx9WqWZRG+cqldscIbflCocQbaPrZ3hY6lMQjL75vZkdv2LNd8NQQAKOl342eEO/D6lG9mXFxFe
|
||||
Po6Dnz1DVKULUVUuRFXO8MgglNgZLsTUkDQQ3CdoFCUSq7nDcIXmCNEztKlV9QzpCKNnWGYRsQwXzZMg
|
||||
xNfT9WcYBj2FDsruH7TmumkoADsi2vmZf3ydCwdK6THYDCceSRBY9FpuW0EYzpDlYi0PJcMZqnlaXLHp
|
||||
+kKBEGViLMX1EjnrRUw1PWV2szNCS+4tBGT2/sya66ZBABruzPMUSAuKQyeeIKxsggEoRdFY6UIkQxCi
|
||||
0uCxSrpDJr9Zz1AlItxhhaHKhCB4zMYpF1w8i6ieoa0t9H4RV+dGVOUUv6YesDOtx/XWP5MTgCtfLYpH
|
||||
zY0eBBcObwBgiJLnbeUIzRWqV0g3mGUinVFD06kqEwXEnEmMMrEstgQMWSZqsdWknCFcQcnHVE0zAPq1
|
||||
OyDzdrQ1zy3jQNFdnPtiGc4FH8LLRhF8bJgh7Ct+jNDj4xY9YYWVKU0gvGxCjOWkpwg/YYr6yCFSxSQO
|
||||
VTxDRMWk0MkpHCadcgqddiKSVOlEVCUtvclVNE4jpmoGMdUzAuCZGVlWLh6pv0SenkJY+Thi69zcRAOz
|
||||
+730f0nWPLeM0JIH/MCAfggNKRxG8LEhTfRaE71vEf2Nn4pGEFI4IkapfVYVP2bt18b9JUqjOFA6igM8
|
||||
joltqdDjY/4qG0NY2TgiKp6xMyLt8euBWf3V1hy3jOJ+fHDw+Jf8wCC5cZY/QbrhdwFglTV5q3QABghK
|
||||
3AKBQShpEFgaBFqvUOlQiQTb777ck9H1I2ueW0ae48WHIfl3+WFhZO3cn7Uiql3YlWn+NvhWcbi8v+5I
|
||||
jcO3K60HQXkPsL/oEQ4UD31zKhlCaPEQQmlUoh9i1Fg6zApjjSDs+OYKPz6Cg2VKjxFWMoRA++3X//FR
|
||||
SqLNZvsnm832dv8u98N//tFP/+1/Ptlps9n+80+o/9pk31Z6l2PfRpT8dmzHdmzHdmzHdmzHdrwp/h8w
|
||||
TliMzfocqQAAAABJRU5ErkJggg==
|
||||
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
|
||||
WG90MeopAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="ToolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
|
||||
@@ -86,7 +86,8 @@ Public Class MdiMain
|
||||
|
||||
Refresh_info()
|
||||
|
||||
|
||||
'// wwwroot 폴더 확인 및 압축 해제
|
||||
CheckAndExtractWwwroot()
|
||||
|
||||
Read_SEtting() '//환경설정을 가져온다. Splah를 변경했따.
|
||||
Read_FilHistory() '//파일사용내역
|
||||
@@ -243,6 +244,10 @@ Public Class MdiMain
|
||||
|
||||
pLog.Add("Program Start")
|
||||
|
||||
' WebView2 Fixed Version 체크
|
||||
CheckWebView2Runtime()
|
||||
|
||||
|
||||
If Me.bt_etc.Visible = False AndAlso System.Diagnostics.Debugger.IsAttached Then
|
||||
MsgBox("debugmode import on")
|
||||
Me.bt_etc.Visible = True
|
||||
@@ -287,6 +292,59 @@ Public Class MdiMain
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub CheckAndExtractWwwroot()
|
||||
|
||||
|
||||
Try
|
||||
' wwwroot 폴더 경로 확인
|
||||
Dim templatePath As String = Path.Combine(Application.StartupPath, "Template")
|
||||
If System.IO.Directory.Exists(templatePath) = False Then Return
|
||||
|
||||
Dim zipfiles() As String = System.IO.Directory.GetFiles(templatePath, "*.zip")
|
||||
If zipfiles.Length = 0 Then Return
|
||||
|
||||
'압축파일 이름으로 폴더를 생성해서 압축을 해제한다.
|
||||
For Each zipfilename As String In zipfiles
|
||||
|
||||
Dim nameOnly As String = System.IO.Path.GetFileNameWithoutExtension(zipfilename)
|
||||
Dim zipcheckfile As String = zipfilename + ".complete"
|
||||
Dim fi As New System.IO.FileInfo(zipfilename)
|
||||
Dim completefileinfo As String = fi.LastWriteTime.ToString("yyyyMMddHHmmss.fff") + "|" + fi.Length.ToString()
|
||||
If System.IO.File.Exists(zipcheckfile) Then
|
||||
'//해당파일의 날짜와 용량이 내부에 기록되어있다 그정보가 틀리다면 진행을한다.
|
||||
Dim fileinfo As String = System.IO.File.ReadAllText(zipcheckfile, System.Text.Encoding.UTF8).Trim()
|
||||
If fileinfo.Equals(completefileinfo) Then
|
||||
Continue For
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim targetPath As New DirectoryInfo(Path.Combine(Application.StartupPath, nameOnly))
|
||||
|
||||
'//폴더가 존재하지 않는경우 생성
|
||||
If targetPath.Exists = False Then targetPath.Create()
|
||||
|
||||
' 압축 해제 폼 표시
|
||||
Dim extractForm As New Frm_WwwrootExtract(targetPath.FullName, zipfilename)
|
||||
extractForm.ShowDialog()
|
||||
|
||||
' 압축 해제가 실패한 경우
|
||||
If extractForm.DialogResult <> DialogResult.OK Then
|
||||
MessageBox.Show("파일 압축 해제에 실패했습니다." & vbCrLf & "일부 기능이 제한될 수 있습니다.",
|
||||
"경고", MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
||||
Else
|
||||
|
||||
System.IO.File.WriteAllText(zipcheckfile, completefileinfo, System.Text.Encoding.UTF8)
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
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
|
||||
@@ -778,14 +836,14 @@ Public Class MdiMain
|
||||
If Prj.UIVersion <> CurrentUIVersion() Then
|
||||
|
||||
If CInt(Prj.UIVersion.Substring(0, 4)) >= 2016 Then
|
||||
MsgBox("해당 파일은 현재 프로그램과 동일한 버젼에서 생성된 파일이 아닙니다" + vbCrLf + vbCrLf + _
|
||||
"파일 Version : " + Prj.UIVersion + vbCrLf + _
|
||||
"현재 Version : " + CurrentUIVersion() + vbCrLf + vbCrLf + _
|
||||
MsgBox("해당 파일은 현재 프로그램과 동일한 버젼에서 생성된 파일이 아닙니다" + vbCrLf + vbCrLf +
|
||||
"파일 Version : " + Prj.UIVersion + vbCrLf +
|
||||
"현재 Version : " + CurrentUIVersion() + vbCrLf + vbCrLf +
|
||||
"파일을 생성한 버젼과 결과 혹은 화면이 일치하지 않을 수 있습니다", MsgBoxStyle.Information, "버전확인")
|
||||
Else
|
||||
MsgBox("해당 파일은 현재 프로그램과 동일한 버젼에서 생성된 파일이 아닙니다" + vbCrLf + vbCrLf + _
|
||||
"파일 Version : " + vbCrLf + _
|
||||
"현재 Version : " + CurrentUIVersion() + vbCrLf + vbCrLf + _
|
||||
MsgBox("해당 파일은 현재 프로그램과 동일한 버젼에서 생성된 파일이 아닙니다" + vbCrLf + vbCrLf +
|
||||
"파일 Version : " + vbCrLf +
|
||||
"현재 Version : " + CurrentUIVersion() + vbCrLf + vbCrLf +
|
||||
"파일을 생성한 버젼과 결과 혹은 화면이 일치하지 않을 수 있습니다", MsgBoxStyle.Information, "버전확인")
|
||||
|
||||
End If
|
||||
@@ -976,7 +1034,7 @@ Public Class MdiMain
|
||||
Dim oldfi As New System.IO.FileInfo(FileName)
|
||||
Dim newfi As New System.IO.FileInfo(bakdi.FullName + "\open_" + oldfi.Name)
|
||||
If newfi.Exists Then
|
||||
If MsgBox("백업된 파일이 존재합니다." + vbCrLf + vbCrLf + _
|
||||
If MsgBox("백업된 파일이 존재합니다." + vbCrLf + vbCrLf +
|
||||
"백업일자 : " + newfi.CreationTime.ToShortDateString + " " + newfi.CreationTime.ToShortTimeString + vbCrLf + "백업된 파일을 불러오시겠습니까?", MsgBoxStyle.YesNo Or MsgBoxStyle.Question, "확인") = MsgBoxResult.Yes Then
|
||||
Open_File(newfi.FullName)
|
||||
End If
|
||||
@@ -1073,7 +1131,7 @@ Public Class MdiMain
|
||||
DSET1.tbl_zone.Rows(i - 1)("순실체적") = CSng(면적) * CSng(천장고)
|
||||
End If
|
||||
End If
|
||||
If DSET1.tbl_zone.Rows(i - 1).RowState = DataRowState.Deleted OrElse _
|
||||
If DSET1.tbl_zone.Rows(i - 1).RowState = DataRowState.Deleted OrElse
|
||||
DSET1.tbl_zone.Rows(i - 1).RowState = DataRowState.Detached Then
|
||||
Continue For
|
||||
End If
|
||||
@@ -1087,7 +1145,7 @@ Public Class MdiMain
|
||||
|
||||
If Not DSET2 Is Nothing Then
|
||||
For i As Integer = 1 To DSET2.tbl_zone.Rows.Count
|
||||
If DSET2.tbl_zone.Rows(i - 1).RowState = DataRowState.Deleted OrElse _
|
||||
If DSET2.tbl_zone.Rows(i - 1).RowState = DataRowState.Deleted OrElse
|
||||
DSET2.tbl_zone.Rows(i - 1).RowState = DataRowState.Detached Then
|
||||
Continue For
|
||||
End If
|
||||
@@ -1102,7 +1160,7 @@ Public Class MdiMain
|
||||
'//입력면
|
||||
If Not DSET1 Is Nothing Then
|
||||
For i As Integer = 1 To DSET1.tbl_myoun.Rows.Count
|
||||
If DSET1.tbl_myoun.Rows(i - 1).RowState = DataRowState.Deleted OrElse _
|
||||
If DSET1.tbl_myoun.Rows(i - 1).RowState = DataRowState.Deleted OrElse
|
||||
DSET1.tbl_myoun.Rows(i - 1).RowState = DataRowState.Detached Then
|
||||
Continue For
|
||||
End If
|
||||
@@ -1121,7 +1179,7 @@ Public Class MdiMain
|
||||
|
||||
If Not DSET2 Is Nothing Then
|
||||
For i As Integer = 1 To DSET2.tbl_myoun.Rows.Count
|
||||
If DSET2.tbl_myoun.Rows(i - 1).RowState = DataRowState.Deleted OrElse _
|
||||
If DSET2.tbl_myoun.Rows(i - 1).RowState = DataRowState.Deleted OrElse
|
||||
DSET2.tbl_myoun.Rows(i - 1).RowState = DataRowState.Detached Then
|
||||
Continue For
|
||||
End If
|
||||
@@ -2009,8 +2067,8 @@ Public Class MdiMain
|
||||
'MsgBox(autoselecttagname)
|
||||
|
||||
'//추가할메뉴선택
|
||||
Dim Menus() As String = New String() {"입력존", "공조처리", _
|
||||
"난방기기", "난방공급시스템", "난방분배시스템", "냉방기기", _
|
||||
Dim Menus() As String = New String() {"입력존", "공조처리",
|
||||
"난방기기", "난방공급시스템", "난방분배시스템", "냉방기기",
|
||||
"냉방분배시스템", "신재생및열병합", "열관류율", "월별에너지사용량"}
|
||||
For Each m As String In Menus
|
||||
|
||||
@@ -2684,8 +2742,8 @@ ENDSTAT: '//오류발생시 강제종료를 위한 분기문
|
||||
|
||||
Private Sub ToolStripMenuItem13_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripMenuItem13.Click
|
||||
|
||||
If MsgBox("정말로 서버의 데이터를 수정하시겠습니까?" & vbCrLf & _
|
||||
"서버의 기상데이터가 삭제되고 현재데이터가 씌여집니다." & vbCrLf & _
|
||||
If MsgBox("정말로 서버의 데이터를 수정하시겠습니까?" & vbCrLf &
|
||||
"서버의 기상데이터가 삭제되고 현재데이터가 씌여집니다." & vbCrLf &
|
||||
"이작업은 되돌릴 수없습니다", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then Return
|
||||
|
||||
Dim pass As String = InputBox("암호입력")
|
||||
@@ -2719,11 +2777,11 @@ ENDSTAT: '//오류발생시 강제종료를 위한 분기문
|
||||
Rcnt += Ta2.Insert(Dr.pcode, Dr.code, Dr.설명, Dr.최대부하, Dr.m01, Dr.m02, Dr.m03, Dr.m04, Dr.m05, Dr.m06, Dr.m07, Dr.m08, Dr.m09, Dr.m10, Dr.m11, Dr.m12)
|
||||
Next
|
||||
For Each Dr As DS.weather_supdoRow In DSET1.weather_supdo.Rows
|
||||
Rcnt += Ta3.Insert(Dr.pcode, Dr.code, Dr.설명, Dr.t01, Dr.t02, Dr.t03, Dr.t04, Dr.t05, Dr.t06, Dr.t07, Dr.t08, Dr.t09, Dr.t10, _
|
||||
Rcnt += Ta3.Insert(Dr.pcode, Dr.code, Dr.설명, Dr.t01, Dr.t02, Dr.t03, Dr.t04, Dr.t05, Dr.t06, Dr.t07, Dr.t08, Dr.t09, Dr.t10,
|
||||
Dr.t11, Dr.t12, Dr.t13, Dr.t14, Dr.t15, Dr.t16, Dr.t17, Dr.t18, Dr.t19, Dr.t20, Dr.t21, Dr.t22, Dr.t23, Dr.t24)
|
||||
Next
|
||||
For Each Dr As DS.weather_tempRow In DSET1.weather_temp.Rows
|
||||
Rcnt += Ta4.Insert(Dr.pcode, Dr.code, Dr.설명, Dr.t01, Dr.t02, Dr.t03, Dr.t04, Dr.t05, Dr.t06, Dr.t07, Dr.t08, Dr.t09, Dr.t10, _
|
||||
Rcnt += Ta4.Insert(Dr.pcode, Dr.code, Dr.설명, Dr.t01, Dr.t02, Dr.t03, Dr.t04, Dr.t05, Dr.t06, Dr.t07, Dr.t08, Dr.t09, Dr.t10,
|
||||
Dr.t11, Dr.t12, Dr.t13, Dr.t14, Dr.t15, Dr.t16, Dr.t17, Dr.t18, Dr.t19, Dr.t20, Dr.t21, Dr.t22, Dr.t23, Dr.t24)
|
||||
Next
|
||||
MsgBox("업데이트완료", MsgBoxStyle.Information, "확인")
|
||||
@@ -3876,8 +3934,8 @@ ENDSTAT: '//오류발생시 강제종료를 위한 분기문
|
||||
End If
|
||||
|
||||
|
||||
content.Append(vbTab + drm.설명 + vbTab + drm.건축부위방식 + vbTab + _
|
||||
drm.건축부위면적 + vbTab + _
|
||||
content.Append(vbTab + drm.설명 + vbTab + drm.건축부위방식 + vbTab +
|
||||
drm.건축부위면적 + vbTab +
|
||||
열관류율 + vbTab + drm.방위)
|
||||
Next
|
||||
content.AppendLine()
|
||||
@@ -3961,4 +4019,43 @@ ENDSTAT: '//오류발생시 강제종료를 위한 분기문
|
||||
Dim f As New Frm_Macro2
|
||||
f.Show()
|
||||
End Sub
|
||||
|
||||
|
||||
Dim frmManual As Frm_WebManual = Nothing
|
||||
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()
|
||||
End If
|
||||
|
||||
|
||||
If frmManual.WindowState = FormWindowState.Minimized Then
|
||||
frmManual.WindowState = FormWindowState.Normal
|
||||
End If
|
||||
|
||||
frmManual.Show()
|
||||
frmManual.Activate()
|
||||
Catch ex As Exception
|
||||
MessageBox.Show("매뉴얼 표시 중 오류가 발생했습니다: " & ex.Message,
|
||||
"오류", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' WebView2 Fixed Version 런타임 체크
|
||||
''' </summary>
|
||||
Private Sub CheckWebView2Runtime()
|
||||
Try
|
||||
Dim fixedVersionPath = Path.Combine(Application.StartupPath, "WebView2Runtime")
|
||||
|
||||
' Fixed Version 폴더가 없으면 경고 (하지만 계속 실행)
|
||||
If Not Directory.Exists(fixedVersionPath) Then
|
||||
Debug.WriteLine("경고: WebView2 Fixed Version을 찾을 수 없습니다. Manual 기능이 제한될 수 있습니다.")
|
||||
' 사용자에게는 Manual 메뉴를 클릭할 때만 알림
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
Debug.WriteLine("WebView2 체크 중 오류: " & ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
End Class
|
||||
BIN
ArinWarev1/Template/EBWebView.zip
Normal file
BIN
ArinWarev1/Template/EBWebView.zip
Normal file
Binary file not shown.
BIN
ArinWarev1/Template/WebView2Runtime.zip
Normal file
BIN
ArinWarev1/Template/WebView2Runtime.zip
Normal file
Binary file not shown.
BIN
ArinWarev1/Template/wwwroot.zip
Normal file
BIN
ArinWarev1/Template/wwwroot.zip
Normal file
Binary file not shown.
BIN
ArinWarev1/WebView2Loader.dll
Normal file
BIN
ArinWarev1/WebView2Loader.dll
Normal file
Binary file not shown.
@@ -29,7 +29,7 @@
|
||||
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
|
||||
</sharedListeners>
|
||||
</system.diagnostics>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup><userSettings>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup><userSettings>
|
||||
<Eco2Ar.My.MySettings>
|
||||
<setting name="xmlformat" serializeAs="String">
|
||||
<value><?xml version="1.0" standalone="yes"?>
|
||||
|
||||
4
ArinWarev1/packages.config
Normal file
4
ArinWarev1/packages.config
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.Web.WebView2" version="1.0.3537.50" targetFramework="net48" />
|
||||
</packages>
|
||||
@@ -36,7 +36,7 @@
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
|
||||
@@ -25,4 +25,4 @@
|
||||
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
|
||||
</sharedListeners>
|
||||
</system.diagnostics>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>
|
||||
|
||||
381
CLAUDE.md
Normal file
381
CLAUDE.md
Normal file
@@ -0,0 +1,381 @@
|
||||
# CLAUDE.md
|
||||
|
||||
이 파일은 Claude Code (claude.ai/code)가 이 저장소에서 작업할 때 참고할 가이드를 제공합니다.
|
||||
|
||||
## 프로젝트 개요
|
||||
|
||||
**ECO2 (Energy Calculation Optimization 2)**는 한국 건축물 에너지효율등급 인증 기준(녹색건축인증)에 따라 건물의 1차 에너지 소요량, CO2 배출량, 신재생에너지 생산량을 계산하는 VB.NET 및 WinForms 기반 응용 프로그램입니다.
|
||||
|
||||
**주 언어**: Visual Basic .NET (VB.NET) with .NET Framework 4.0
|
||||
**추가 언어**: C# (유틸리티 라이브러리만)
|
||||
**플랫폼**: Windows 데스크톱 응용 프로그램 (x86 타겟)
|
||||
|
||||
## 솔루션 구조
|
||||
|
||||
솔루션 `ArinWareT4.sln`은 모듈화된 아키텍처로 구성된 6개의 프로젝트를 포함합니다:
|
||||
|
||||
### 메인 응용 프로그램
|
||||
- **ECO2_2025V1** (`ArinWarev1/`) - 주 WinForms 응용 프로그램
|
||||
- 진입점: `MdiMain.vb` - 메뉴 시스템을 갖춘 MDI 부모 폼
|
||||
- `Calculator/` 하위 디렉토리의 핵심 계산 엔진
|
||||
- 기능별 폼 구성: `Forms/`, `Forms_Input/`, `Forms_Report/`, `Forms_Basic/`
|
||||
- `Data/`의 기상 데이터 (XML 형식)
|
||||
- 타입 데이터셋: `eco2DataSet.xsd` (데이터 모델링용)
|
||||
|
||||
### 지원 라이브러리 (SubProject 폴더 그룹)
|
||||
- **CEnergy** (`CEnergy/ArinClassV2/`) - 핵심 비즈니스 로직 라이브러리
|
||||
- 공통 유틸리티, 데이터베이스 액세스, INI 파일 처리
|
||||
- 여러 프로젝트에서 공유
|
||||
|
||||
- **ArinNet** - 네트워크 통신 유틸리티
|
||||
|
||||
- **ArinLogin** - 인증 및 사용자 관리
|
||||
- 라이선스 검증, 암호화/복호화
|
||||
|
||||
- **ArinLog** - 로깅 기능
|
||||
|
||||
- **Utility** (C#) - 압축 유틸리티
|
||||
- 데이터 압축을 위한 MiniLZO 구현
|
||||
|
||||
### 배포
|
||||
- **Setup1** - 설치 프로그램 프로젝트 (`.vdproj`)
|
||||
|
||||
## 빌드 및 실행
|
||||
|
||||
### 솔루션 빌드
|
||||
|
||||
```bash
|
||||
# Visual Studio에서 솔루션 열기
|
||||
start ArinWareT4.sln
|
||||
|
||||
# 명령줄에서 빌드 (Visual Studio 필요)
|
||||
msbuild ArinWareT4.sln /p:Configuration=Debug /p:Platform="Any CPU"
|
||||
msbuild ArinWareT4.sln /p:Configuration=Release /p:Platform="Any CPU"
|
||||
```
|
||||
|
||||
### 출력 경로
|
||||
- **Debug**: `..\..\..\..\..\eco2\debug_2016\` (프로젝트 기준 상대 경로)
|
||||
- **Release**: `c:\eco2\debug_2016\`
|
||||
|
||||
### 플랫폼 설정
|
||||
- 타겟 플랫폼: **x86** (32비트)
|
||||
- 프레임워크: **.NET Framework 4.0**
|
||||
- Option Strict: **Off** (VB.NET 특성)
|
||||
|
||||
### 빌드 구성
|
||||
- Debug / Release (표준)
|
||||
- CD_ROM / DVD-5 / SingleImage (배포 구성)
|
||||
|
||||
## 아키텍처 개요
|
||||
|
||||
### 계산 엔진 (`ArinWarev1/Calculator/`)
|
||||
|
||||
계산 엔진은 건물 에너지 계산을 수행하는 전문 모듈로 구성됩니다:
|
||||
|
||||
**핵심 계산기 클래스**:
|
||||
- `Calculator.vb` - 모든 계산 모듈을 조율하는 메인 오케스트레이터
|
||||
- `CZone.vb` - 존 레벨 계산 (열존, 난방/냉방 부하)
|
||||
- `CAirHandling.vb` - 공조 시스템 계산
|
||||
- `CHeating.vb` - 난방 시스템 계산 (기기, 분배, 공급)
|
||||
- `CCooling.vb` - 냉방 시스템 계산 (기기, 분배)
|
||||
- `CRenewable.vb` - 신재생에너지 생산량 계산
|
||||
- `CSummary.vb` - 결과 집계 및 요약 생성
|
||||
- `CShared.vb` - 공유 계산 변수 및 유틸리티
|
||||
|
||||
**결과 처리** (`Calculator/Result/`):
|
||||
- `CResult.vb` - 결과 데이터 구조
|
||||
- `C1차소요량.vb` - 1차 에너지 소요량 계산
|
||||
- `CCo2발생량.vb` - CO2 배출량 계산
|
||||
- `C생산에너지.vb` - 에너지 생산량 계산
|
||||
- `C사용면적.vb` - 사용 면적 계산
|
||||
- `CZones.vb` - 존 결과 집계
|
||||
|
||||
### 데이터 흐름
|
||||
|
||||
```
|
||||
사용자 입력 폼 (Forms_Input/)
|
||||
↓
|
||||
DataSet (eco2DataSet - DS, DSR)
|
||||
↓
|
||||
계산 엔진 (Calculator)
|
||||
↓
|
||||
결과 클래스 (CResult, DSR)
|
||||
↓
|
||||
리포트 폼 (Forms_Report/)
|
||||
```
|
||||
|
||||
### 주요 데이터셋
|
||||
- `DS` (DSET) - 입력 데이터 (사용자 입력 건물 정보)
|
||||
- `DSR` (DSETR) - 결과 데이터 (계산된 에너지 값)
|
||||
- `CResult` - 구조화된 계산 결과
|
||||
|
||||
### 폼 구성
|
||||
|
||||
**Forms_Input/** - 데이터 입력 폼
|
||||
- `Frm_Desc.vb` - 건물 개요
|
||||
- `Frm_kongjo.vb` - 공조 처리 입력
|
||||
- `Frm_Bunbae.vb` - 분배 시스템 입력
|
||||
- `Frm_custom_profile.vb` - 커스텀 사용 프로파일
|
||||
|
||||
**Forms_Report/** - 출력 및 보고
|
||||
- `Frm_Upload.vb` - 인증 서버 업로드
|
||||
- `Frm_Macro.vb`, `Frm_Macro2.vb` - Excel 리포트 생성
|
||||
- `Frm_Export.vb` - 데이터 내보내기 기능
|
||||
|
||||
**Forms_Basic/** - 유틸리티 폼
|
||||
- `Frm_Calc.vb` - 계산 트리거
|
||||
- `Frm_Filter.vb` - 데이터 필터링
|
||||
- `Frm_FileInfo.vb` - 파일 메타데이터
|
||||
|
||||
**Forms/** - 일반 응용 프로그램 폼
|
||||
- `Frm_About.vb` - About 대화상자
|
||||
- `Frm_Common.vb` - 공통 대화상자
|
||||
|
||||
### 메뉴 시스템 (MdiMain.vb)
|
||||
|
||||
`E_MenuIdx` 열거형에 정의된 메뉴 인덱스:
|
||||
- 입력존
|
||||
- 입력면
|
||||
- 공조처리
|
||||
- 난방기기/공급/분배
|
||||
- 냉방기기/분배
|
||||
- 신재생및열병합
|
||||
- 열관류율
|
||||
- 건물개요
|
||||
- 월별에너지사용량
|
||||
|
||||
### 사용자 권한
|
||||
|
||||
`Prj.UserAuthType`을 통해 제어되는 사용자 유형:
|
||||
- `ADMIN` - 전체 액세스
|
||||
- `BOTH` - 전문 사용자 (계산 + 인증)
|
||||
- `BOTH0` - 일반 사용자 (제한된 액세스)
|
||||
- `BOTH1` - 확장 전문 사용자 액세스
|
||||
|
||||
## 외부 종속성
|
||||
|
||||
### FarPoint Spread (v5.0.3505.2008)
|
||||
- 데이터 입력을 위한 Excel 형식의 스프레드시트 컨트롤
|
||||
- 구성 요소: CalcEngine, Excel, PDF, Win, Chart
|
||||
- 입력 폼에서 광범위하게 사용
|
||||
|
||||
### Microsoft ReportViewer
|
||||
- `Microsoft.ReportViewer.Common.dll`
|
||||
- `Microsoft.ReportViewer.WinForms.dll`
|
||||
- 형식화된 보고서 생성에 사용
|
||||
|
||||
### Excel Interop
|
||||
- `Interop.Excel.dll` - Excel 자동화를 위한 COM interop
|
||||
- 매크로/내보내기 기능에 사용
|
||||
|
||||
### LOV 구성 요소
|
||||
- `Lov.dll` - 값 목록 컨트롤 라이브러리
|
||||
|
||||
## 파일 형식 및 데이터 저장
|
||||
|
||||
### 프로젝트 파일 (.tpl 파일)
|
||||
- LZO 압축 바이너리 형식 (Utility 프로젝트 사용)
|
||||
- 건물 데이터, 계산 입력값, 결과 포함
|
||||
- 사용자 지정 위치에 저장
|
||||
- 최근 파일은 응용 프로그램 설정에서 추적
|
||||
|
||||
### 기상 데이터 (Data/*.xml)
|
||||
- `weather_temp.xml` - 온도 데이터
|
||||
- `weather_supdo.xml` - 습도 데이터
|
||||
- `weather_ilsa.xml` - 일사량 데이터
|
||||
- `weather_group.xml` - 기상 관측소 그룹
|
||||
- `tbl_weather.xml` - 기상 위치 테이블
|
||||
|
||||
### 구성 파일
|
||||
- `Frm_Setting.ini` - UI 상태 지속성 (창 크기, 위치)
|
||||
- `login.dat` - 사용자 자격 증명 (암호화됨)
|
||||
- `app.config` - 응용 프로그램 설정
|
||||
|
||||
## 한국 건축물 에너지 기준
|
||||
|
||||
이 응용 프로그램은 한국 건축물 에너지효율등급 인증 기준을 구현합니다:
|
||||
|
||||
### 주요 용어
|
||||
- 건물개요
|
||||
- 1차 에너지 소요량
|
||||
- CO2 발생량
|
||||
- 난방 / 냉방
|
||||
- 급탕
|
||||
- 조명 / 환기
|
||||
- 신재생에너지
|
||||
- 열관류율
|
||||
- 공조
|
||||
- 용도지역
|
||||
|
||||
### 계산 버전 관리
|
||||
|
||||
`StartVersion` 상수를 통한 버전 제어:
|
||||
- 규제 준수를 위한 계산 엔진 버전 관리
|
||||
- `Calculator.New()` 생성자에서 버전 확인
|
||||
- 기준 버전 "2009123100"
|
||||
|
||||
## 개발 가이드라인
|
||||
|
||||
### VB.NET 규칙
|
||||
- Option Strict는 OFF - 암시적 형식 변환 허용
|
||||
- 한글 주석 및 변수명은 표준 관행
|
||||
- 명명: 클래스, 메서드는 PascalCase; 로컬 변수는 엄격한 규칙 없음
|
||||
|
||||
### DataSet 사용
|
||||
- 항상 타입 데이터셋 (`DS`, `DSR`) 사용
|
||||
- 모듈 수준 변수 `DSET1`, `DSETR1`을 통해 액세스
|
||||
- 타입 안전 액세스를 위해 DataRow 객체 사용
|
||||
|
||||
### 폼 관리
|
||||
- `MdiMain`을 통한 MDI 자식 폼 관리
|
||||
- `OpenedForm` 속성을 통해 열린 폼 추적
|
||||
- `Prj.Opened`를 사용하여 프로젝트 파일 로드 여부 확인
|
||||
|
||||
### 계산 흐름
|
||||
1. 프로젝트 파일 로드 → `DSET` 채우기
|
||||
2. 사용자가 입력 폼 수정 → `DSET` 업데이트
|
||||
3. 계산 트리거 → `Calculator` 클래스가 `DSET` 처리 → `DSETR` 및 `CResult` 채우기
|
||||
4. 리포트 폼에 결과 표시
|
||||
|
||||
### 파일 작업
|
||||
- 항상 MdiMain의 `Save_File()` / `Load_File()` 메서드 사용
|
||||
- Utility 라이브러리를 통한 파일 압축 처리
|
||||
- `PrjChanged` 플래그를 통한 파일 변경 추적
|
||||
|
||||
## 일반 작업
|
||||
|
||||
### 계산 실행
|
||||
|
||||
계산은 메뉴 또는 폼 버튼에서 트리거되고 `Calculator` 클래스를 통해 처리됩니다:
|
||||
|
||||
```vb
|
||||
' 데이터셋 및 결과 객체로 계산기 초기화
|
||||
Dim calc As New Calculator(version, DSET1, DSETR1, Result2, isSimulation)
|
||||
|
||||
' 초기화 오류 확인
|
||||
If calc.IsError Then
|
||||
' 오류 처리
|
||||
Return
|
||||
End If
|
||||
|
||||
' DSETR1 및 Result2에서 계산 결과 사용 가능
|
||||
```
|
||||
|
||||
### 새 입력 필드 추가
|
||||
|
||||
1. 적절한 테이블에 열을 추가하도록 `eco2DataSet.xsd` 수정
|
||||
2. 해당 입력 폼(`Forms_Input/*.vb`) 업데이트
|
||||
3. 관련 `Calculator/*.vb` 클래스의 계산 로직 업데이트
|
||||
4. 필요한 경우 리포트 폼 업데이트
|
||||
|
||||
### 새 계산 모듈 추가
|
||||
|
||||
1. `Calculator/` 디렉토리에 새 클래스 생성
|
||||
2. 기존 모듈의 계산 패턴 상속
|
||||
3. 생성자에서 `DS`, `DSR`, `CResult` 수락
|
||||
4. `Calculator.vb` 오케스트레이터에 연결
|
||||
5. `CSummary.vb`의 요약 집계 업데이트
|
||||
|
||||
### FarPoint Spread 컨트롤 작업
|
||||
|
||||
FarPoint 컨트롤은 그리드 기반 입력에 광범위하게 사용됩니다:
|
||||
|
||||
```vb
|
||||
' Spread 컨트롤 액세스
|
||||
Dim spread As FarPoint.Win.Spread.FpSpread = Me.FpSpread1
|
||||
|
||||
' 셀 값 설정
|
||||
spread.ActiveSheet.Cells(row, col).Value = value
|
||||
|
||||
' 셀 값 읽기
|
||||
Dim value = spread.ActiveSheet.Cells(row, col).Value
|
||||
|
||||
' 셀 속성 설정
|
||||
spread.ActiveSheet.Cells(row, col).BackColor = Color.Yellow
|
||||
```
|
||||
|
||||
## 알려진 패턴 및 규칙
|
||||
|
||||
### 전역 모듈 변수
|
||||
- `DSET1` - 전역 입력 데이터셋 (DS 타입)
|
||||
- `DSETR1` - 전역 결과 데이터셋 (DSR 타입)
|
||||
- `Result2` - 전역 결과 객체 (CResult 타입)
|
||||
- `Prj` - 전역 프로젝트 상태 객체
|
||||
- `CLang` - 언어/지역화 문자열
|
||||
|
||||
### 오류 처리
|
||||
- 계산 클래스의 `IsError` 속성 패턴
|
||||
- 사용자 대면 오류에 대한 메시지 박스
|
||||
- `On Error Resume Next`를 사용한 VB.NET 오류 처리 (레거시 패턴)
|
||||
|
||||
### 이벤트 처리
|
||||
- 클래스 수준 이벤트 핸들러를 위한 WithEvents 패턴
|
||||
- `Handles` 키워드를 통한 폼 이벤트 처리
|
||||
|
||||
### INI 파일 액세스
|
||||
```vb
|
||||
Dim ini As New MyINI(filePath)
|
||||
Dim value = ini.Read(section, key, defaultValue)
|
||||
ini.Write(section, key, value)
|
||||
```
|
||||
|
||||
## 테스트 및 디버깅
|
||||
|
||||
### 디버그 모드
|
||||
- Debug 구성으로 빌드
|
||||
- 로컬 디버그 폴더로 출력
|
||||
- 전체 심볼 정보 사용 가능
|
||||
|
||||
### 테스트 데이터
|
||||
사용 가능한 샘플 프로젝트 파일:
|
||||
- `sample.tpl` - 표준 샘플 건물
|
||||
- `sample_0307.tpl` - 대체 샘플
|
||||
- `sample_200.tpl` - 대형 건물 샘플
|
||||
|
||||
### 로깅
|
||||
응용 프로그램 로깅에 ArinLog 라이브러리 사용:
|
||||
```vb
|
||||
pLog.Add("이벤트 설명", includeStackTrace)
|
||||
```
|
||||
|
||||
## 언어 관련 참고사항
|
||||
|
||||
응용 프로그램은 한국 사용자를 위해 설계되었습니다:
|
||||
- 모든 UI 텍스트는 한글
|
||||
- 사용자 문서는 한글
|
||||
- 한국 건축 기준 및 용어
|
||||
- 날짜/시간 형식: 한국 표준
|
||||
- 인코딩: 소스 파일은 UTF-8
|
||||
|
||||
주석 및 변수명은 한글과 영어를 혼용합니다 - 이는 의도적이며 이 코드베이스의 표준입니다.
|
||||
|
||||
## 배포 참고사항
|
||||
|
||||
### 설치
|
||||
- 설치 프로그램 프로젝트: `Setup1/Setup1.vdproj`
|
||||
- 메인 프로젝트에 구성된 ClickOnce 배포
|
||||
- 게시 URL: `ftp://tindevil.com/www/mynetapp/t4/`
|
||||
- 설치 URL: `http://tindevil.com/mynetapp/t4/`
|
||||
|
||||
### 버전 관리
|
||||
- AssemblyInfo의 버전 정보
|
||||
- ArinLogin 라이브러리를 통한 버전 확인
|
||||
- 서버 측 버전 검증
|
||||
|
||||
### 업데이트
|
||||
- 시작 시 업데이트 확인
|
||||
- Foreground 업데이트 모드 (실행 전 업데이트)
|
||||
- 7일 업데이트 간격 구성
|
||||
|
||||
## 보안 참고사항
|
||||
|
||||
### 인증
|
||||
- ArinLogin 라이브러리를 통한 사용자 인증
|
||||
- MAC 주소 검증 (상태 표시줄의 `lbl_mac`)
|
||||
- 라이선스 관리 시스템
|
||||
- `login.dat`의 암호화된 자격 증명
|
||||
|
||||
### 데이터 보호
|
||||
- 데이터 보호를 위한 파일 압축
|
||||
- ArinLogin.EnDec 클래스를 통한 암호화/복호화
|
||||
- 라이선스 준수를 위한 네트워크 검증
|
||||
File diff suppressed because it is too large
Load Diff
@@ -21,8 +21,20 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_1B82797EE76C4687B40F102FB1C3656C"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_26069AE042094C99B6D68EFBF0407E39"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_29FE169CCEBDEB4C07246AF3E1D7D1EF"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"OwnerKey" = "8:_85623F2834184CA2A083635A5BAE18C9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -45,12 +57,42 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_3A96F072BA7F90374AF5E6A6BCC34084"
|
||||
"OwnerKey" = "8:_55C7A65939B117D312DD5A518DF4B270"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_3B45869800BE418CB04B7AAE60ECC4C3"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_3BE85EAE54344746B9CBC3B7045AB889"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_3E4ACF51547513CA033A352F53714D81"
|
||||
"OwnerKey" = "8:_5C78790BE844478C9C716929BE45A267"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_3E4ACF51547513CA033A352F53714D81"
|
||||
"OwnerKey" = "8:_D541DEE33C7640AC935C339497D767B6"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_3E4ACF51547513CA033A352F53714D81"
|
||||
"OwnerKey" = "8:_85623F2834184CA2A083635A5BAE18C9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_3F3FFE1FF99E4444B306BE60F3FB6997"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
@@ -58,7 +100,7 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_4608D921DC658CD173C039AF16C5E283"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"OwnerKey" = "8:_85623F2834184CA2A083635A5BAE18C9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -70,7 +112,7 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_4B290A29E53110D5B83008A4DD0873A2"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"OwnerKey" = "8:_85623F2834184CA2A083635A5BAE18C9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -87,12 +129,24 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_55C7A65939B117D312DD5A518DF4B270"
|
||||
"OwnerKey" = "8:_85623F2834184CA2A083635A5BAE18C9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_59B3512FD7C9D2430BF7B3C6379B9C9D"
|
||||
"OwnerKey" = "8:_4608D921DC658CD173C039AF16C5E283"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_5C78790BE844478C9C716929BE45A267"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_5D29234F4F444C9AAE7845416706303D"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
@@ -105,6 +159,12 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_6913B5242057436886DF5DB3C58CEB55"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_691C9DA50302E0464D0E64E97C1242A2"
|
||||
"OwnerKey" = "8:_29FE169CCEBDEB4C07246AF3E1D7D1EF"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
@@ -118,7 +178,7 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_6BB2F49C9D04D801E8DE021D6CE20C22"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"OwnerKey" = "8:_85623F2834184CA2A083635A5BAE18C9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -129,6 +189,12 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_85623F2834184CA2A083635A5BAE18C9"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_88E9E9750BBC8DE9EFD32EE0994A73F2"
|
||||
"OwnerKey" = "8:_29FE169CCEBDEB4C07246AF3E1D7D1EF"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
@@ -136,13 +202,13 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_8BDE3E37C576268C85BFD64B9B0E7E24"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"OwnerKey" = "8:_85623F2834184CA2A083635A5BAE18C9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_8EC9C4E69441F73892A4C676310B7ABE"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"OwnerKey" = "8:_85623F2834184CA2A083635A5BAE18C9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -159,6 +225,12 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_A9C68AB7DD5240D09E2D51CD42992DB2"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_AD951B42EF214BF0882807B6B1358B02"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
@@ -166,7 +238,7 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_ADE6E41741BD7CD14907A44E54816E0D"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"OwnerKey" = "8:_85623F2834184CA2A083635A5BAE18C9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -184,7 +256,13 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_CE47408D9D1AC3C1A1C987DBD7CA7F43"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"OwnerKey" = "8:_85623F2834184CA2A083635A5BAE18C9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_D541DEE33C7640AC935C339497D767B6"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -195,14 +273,8 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_E5FD918B4BE4C70000A151506717226F"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"OwnerKey" = "8:_85623F2834184CA2A083635A5BAE18C9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -225,38 +297,14 @@
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"MsmKey" = "8:_FE8E361859744E078E1D240184E37E6C"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"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"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_ECC375834F59CEFC1D106FE35A78C9C5"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_29FE169CCEBDEB4C07246AF3E1D7D1EF"
|
||||
"OwnerKey" = "8:_E5FD918B4BE4C70000A151506717226F"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -268,19 +316,13 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_691C9DA50302E0464D0E64E97C1242A2"
|
||||
"OwnerKey" = "8:_ECC375834F59CEFC1D106FE35A78C9C5"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_4B290A29E53110D5B83008A4DD0873A2"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_88E9E9750BBC8DE9EFD32EE0994A73F2"
|
||||
"OwnerKey" = "8:_D541DEE33C7640AC935C339497D767B6"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -292,7 +334,13 @@
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_E5FD918B4BE4C70000A151506717226F"
|
||||
"OwnerKey" = "8:_88E9E9750BBC8DE9EFD32EE0994A73F2"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_85623F2834184CA2A083635A5BAE18C9"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
@@ -325,6 +373,66 @@
|
||||
"OwnerKey" = "8:_CE47408D9D1AC3C1A1C987DBD7CA7F43"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_691C9DA50302E0464D0E64E97C1242A2"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_5C78790BE844478C9C716929BE45A267"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_3E4ACF51547513CA033A352F53714D81"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_59B3512FD7C9D2430BF7B3C6379B9C9D"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_55C7A65939B117D312DD5A518DF4B270"
|
||||
"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:_3A96F072BA7F90374AF5E6A6BCC34084"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_36E293D174759AFAAD42CF70AA63402C"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_UNDEFINED"
|
||||
"OwnerKey" = "8:_29FE169CCEBDEB4C07246AF3E1D7D1EF"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
}
|
||||
"Configurations"
|
||||
{
|
||||
@@ -352,10 +460,10 @@
|
||||
"ComponentsUrl" = "8:"
|
||||
"Items"
|
||||
{
|
||||
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.0"
|
||||
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.8"
|
||||
{
|
||||
"Name" = "8:Microsoft .NET Framework 4(x86 및 x64)"
|
||||
"ProductCode" = "8:.NETFramework,Version=v4.0"
|
||||
"Name" = "8:Microsoft .NET Framework 4.8(x86 및 x64)"
|
||||
"ProductCode" = "8:.NETFramework,Version=v4.8"
|
||||
}
|
||||
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.ReportViewer.10.0"
|
||||
{
|
||||
@@ -432,7 +540,7 @@
|
||||
{
|
||||
"Name" = "8:.NET Framework"
|
||||
"Message" = "8:[VSDNETMSG]"
|
||||
"FrameworkVersion" = "8:.NETFramework,Version=v4.0,Profile=Client"
|
||||
"FrameworkVersion" = "8:.NETFramework,Version=v4.8"
|
||||
"AllowLaterVersions" = "11:FALSE"
|
||||
"InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=131000"
|
||||
}
|
||||
@@ -460,6 +568,46 @@
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1B82797EE76C4687B40F102FB1C3656C"
|
||||
{
|
||||
"SourcePath" = "8:..\\ArinWarev1\\Template\\EBWebView.zip"
|
||||
"TargetName" = "8:EBWebView.zip"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_957C6D0C8FC44AC0B56EA59602B3F5E3"
|
||||
"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}:_26069AE042094C99B6D68EFBF0407E39"
|
||||
{
|
||||
"SourcePath" = "8:..\\ArinWarev1\\Template\\Sample.tpl"
|
||||
"TargetName" = "8:Sample.tpl"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_957C6D0C8FC44AC0B56EA59602B3F5E3"
|
||||
"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:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_29FE169CCEBDEB4C07246AF3E1D7D1EF"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
@@ -562,6 +710,57 @@
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_3A96F072BA7F90374AF5E6A6BCC34084"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
"AssemblyIsInGAC" = "11:TRUE"
|
||||
"AssemblyAsmDisplayName" = "8:System.IO.Compression, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_3A96F072BA7F90374AF5E6A6BCC34084"
|
||||
{
|
||||
"Name" = "8:System.IO.Compression.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.IO.Compression.dll"
|
||||
"TargetName" = "8:"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"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:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3B45869800BE418CB04B7AAE60ECC4C3"
|
||||
{
|
||||
"SourcePath" = "8:..\\ArinWarev1\\Template\\Sample"
|
||||
"TargetName" = "8:Sample"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_957C6D0C8FC44AC0B56EA59602B3F5E3"
|
||||
"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}:_3BE85EAE54344746B9CBC3B7045AB889"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\Data\\weather_river.dat"
|
||||
@@ -582,6 +781,37 @@
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_3E4ACF51547513CA033A352F53714D81"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
"AssemblyIsInGAC" = "11:FALSE"
|
||||
"AssemblyAsmDisplayName" = "8:Microsoft.Web.WebView2.Core, Version=1.0.3537.50, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_3E4ACF51547513CA033A352F53714D81"
|
||||
{
|
||||
"Name" = "8:Microsoft.Web.WebView2.Core.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:Microsoft.Web.WebView2.Core.dll"
|
||||
"TargetName" = "8:"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"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:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3F3FFE1FF99E4444B306BE60F3FB6997"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\Data\\weather_wind.dat"
|
||||
@@ -664,6 +894,37 @@
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_55C7A65939B117D312DD5A518DF4B270"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
"AssemblyIsInGAC" = "11:TRUE"
|
||||
"AssemblyAsmDisplayName" = "8:System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_55C7A65939B117D312DD5A518DF4B270"
|
||||
{
|
||||
"Name" = "8:System.IO.Compression.FileSystem.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:System.IO.Compression.FileSystem.dll"
|
||||
"TargetName" = "8:"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"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:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_59B3512FD7C9D2430BF7B3C6379B9C9D"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
@@ -695,6 +956,37 @@
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5C78790BE844478C9C716929BE45A267"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
"AssemblyIsInGAC" = "11:FALSE"
|
||||
"AssemblyAsmDisplayName" = "8:Microsoft.Web.WebView2.Wpf, Version=1.0.3537.50, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_5C78790BE844478C9C716929BE45A267"
|
||||
{
|
||||
"Name" = "8:Microsoft.Web.WebView2.Wpf.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:C:\\eco2\\debug_2016\\Microsoft.Web.WebView2.Wpf.dll"
|
||||
"TargetName" = "8:"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"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}:_5D29234F4F444C9AAE7845416706303D"
|
||||
{
|
||||
"SourcePath" = "8:..\\ArinWarev1\\002.ico"
|
||||
@@ -735,6 +1027,26 @@
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6913B5242057436886DF5DB3C58CEB55"
|
||||
{
|
||||
"SourcePath" = "8:..\\ArinWarev1\\Template\\WebView2Runtime.zip"
|
||||
"TargetName" = "8:WebView2Runtime.zip"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_957C6D0C8FC44AC0B56EA59602B3F5E3"
|
||||
"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:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_691C9DA50302E0464D0E64E97C1242A2"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
@@ -795,11 +1107,11 @@
|
||||
{
|
||||
"_6BB2F49C9D04D801E8DE021D6CE20C22"
|
||||
{
|
||||
"Name" = "8:Utility.DLL"
|
||||
"Name" = "8:Utility.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:Utility.DLL"
|
||||
"SourcePath" = "8:Utility.dll"
|
||||
"TargetName" = "8:"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
@@ -837,6 +1149,37 @@
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_85623F2834184CA2A083635A5BAE18C9"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
"AssemblyIsInGAC" = "11:FALSE"
|
||||
"AssemblyAsmDisplayName" = "8:Eco2Ar, Version=1.2017.122.1014, Culture=neutral, processorArchitecture=x86"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_85623F2834184CA2A083635A5BAE18C9"
|
||||
{
|
||||
"Name" = "8:Eco2Ar.exe"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:C:\\eco2\\dotfus_2016\\Eco2Ar.exe"
|
||||
"TargetName" = "8:"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"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:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_88E9E9750BBC8DE9EFD32EE0994A73F2"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
@@ -877,11 +1220,11 @@
|
||||
{
|
||||
"_8BDE3E37C576268C85BFD64B9B0E7E24"
|
||||
{
|
||||
"Name" = "8:CEnergy.DLL"
|
||||
"Name" = "8:CEnergy.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:CEnergy.DLL"
|
||||
"SourcePath" = "8:CEnergy.dll"
|
||||
"TargetName" = "8:"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
@@ -908,11 +1251,11 @@
|
||||
{
|
||||
"_8EC9C4E69441F73892A4C676310B7ABE"
|
||||
{
|
||||
"Name" = "8:ArinNet.DLL"
|
||||
"Name" = "8:ArinNet.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:ArinNet.DLL"
|
||||
"SourcePath" = "8:ArinNet.dll"
|
||||
"TargetName" = "8:"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
@@ -970,6 +1313,26 @@
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A9C68AB7DD5240D09E2D51CD42992DB2"
|
||||
{
|
||||
"SourcePath" = "8:C:\\eco2\\debug_2016\\WebView2Loader.dll"
|
||||
"TargetName" = "8:WebView2Loader.dll"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"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}:_AD951B42EF214BF0882807B6B1358B02"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\Data\\weather_supdo.dat"
|
||||
@@ -999,11 +1362,11 @@
|
||||
{
|
||||
"_ADE6E41741BD7CD14907A44E54816E0D"
|
||||
{
|
||||
"Name" = "8:ArinLogin.DLL"
|
||||
"Name" = "8:ArinLogin.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:ArinLogin.DLL"
|
||||
"SourcePath" = "8:ArinLogin.dll"
|
||||
"TargetName" = "8:"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
@@ -1081,11 +1444,11 @@
|
||||
{
|
||||
"_CE47408D9D1AC3C1A1C987DBD7CA7F43"
|
||||
{
|
||||
"Name" = "8:ArinLog.Net4.DLL"
|
||||
"Name" = "8:ArinLog.Net4.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:ArinLog.Net4.DLL"
|
||||
"SourcePath" = "8:ArinLog.Net4.dll"
|
||||
"TargetName" = "8:"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
@@ -1103,10 +1466,21 @@
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DCE4D26697134EE9B82046F012AA016E"
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D541DEE33C7640AC935C339497D767B6"
|
||||
{
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\upload.xlsx"
|
||||
"TargetName" = "8:upload.xlsx"
|
||||
"AssemblyRegister" = "3:1"
|
||||
"AssemblyIsInGAC" = "11:FALSE"
|
||||
"AssemblyAsmDisplayName" = "8:Microsoft.Web.WebView2.WinForms, Version=1.0.3537.50, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_D541DEE33C7640AC935C339497D767B6"
|
||||
{
|
||||
"Name" = "8:Microsoft.Web.WebView2.WinForms.dll"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:C:\\eco2\\debug_2016\\Microsoft.Web.WebView2.WinForms.dll"
|
||||
"TargetName" = "8:"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"Condition" = "8:"
|
||||
@@ -1123,21 +1497,10 @@
|
||||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DCE4D26697134EE9B82046F012AA016E"
|
||||
{
|
||||
"AssemblyRegister" = "3:1"
|
||||
"AssemblyIsInGAC" = "11:FALSE"
|
||||
"AssemblyAsmDisplayName" = "8:Eco2Ar, Version=1.2017.122.1014, Culture=neutral, processorArchitecture=x86"
|
||||
"ScatterAssemblies"
|
||||
{
|
||||
"_DF16200C7C9B40998C022F2E37D1E143"
|
||||
{
|
||||
"Name" = "8:Eco2Ar.exe"
|
||||
"Attributes" = "3:512"
|
||||
}
|
||||
}
|
||||
"SourcePath" = "8:C:\\ECO2\\dotfus_2016\\Eco2Ar.exe"
|
||||
"TargetName" = "8:"
|
||||
"SourcePath" = "8:C:\\ECO2\\debug_2016\\upload.xlsx"
|
||||
"TargetName" = "8:upload.xlsx"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"Condition" = "8:"
|
||||
@@ -1247,6 +1610,26 @@
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_FE8E361859744E078E1D240184E37E6C"
|
||||
{
|
||||
"SourcePath" = "8:..\\ArinWarev1\\Template\\wwwroot.zip"
|
||||
"TargetName" = "8:wwwroot.zip"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_957C6D0C8FC44AC0B56EA59602B3F5E3"
|
||||
"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:"
|
||||
}
|
||||
}
|
||||
"FileType"
|
||||
{
|
||||
@@ -1263,6 +1646,17 @@
|
||||
"Property" = "8:TARGETDIR"
|
||||
"Folders"
|
||||
{
|
||||
"{9EF0B969-E518-4E46-987F-47570745A589}:_957C6D0C8FC44AC0B56EA59602B3F5E3"
|
||||
{
|
||||
"Name" = "8:Template"
|
||||
"AlwaysCreate" = "11:FALSE"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Property" = "8:_CFF1CE57FF2B42A3AE7767110C50FBAE"
|
||||
"Folders"
|
||||
{
|
||||
}
|
||||
}
|
||||
"{9EF0B969-E518-4E46-987F-47570745A589}:_A02FAE1984434D0C9BCF4CCA745960F5"
|
||||
{
|
||||
"Name" = "8:Data"
|
||||
@@ -1326,7 +1720,7 @@
|
||||
"Name" = "8:Microsoft Visual Studio"
|
||||
"ProductName" = "8:ECO2_2025V1"
|
||||
"ProductCode" = "8:{1C694875-DBD9-43E7-A9DC-0EEE63429810}"
|
||||
"PackageCode" = "8:{172D8716-29F9-4949-8F2B-52F268078F21}"
|
||||
"PackageCode" = "8:{4476376D-5BCD-4B0F-B2CB-BF13909AC674}"
|
||||
"UpgradeCode" = "8:{650A91F6-635B-4C09-8A64-C123C180E487}"
|
||||
"AspNetVersion" = "8:2.0.50727.0"
|
||||
"RestartWWWService" = "11:FALSE"
|
||||
@@ -1334,7 +1728,7 @@
|
||||
"DetectNewerInstalledVersion" = "11:TRUE"
|
||||
"InstallAllUsers" = "11:TRUE"
|
||||
"ProductVersion" = "8:1.0.0"
|
||||
"Manufacturer" = "8:기본 회사 이름"
|
||||
"Manufacturer" = "8:KICT"
|
||||
"ARPHELPTELEPHONE" = "8:"
|
||||
"ARPHELPLINK" = "8:"
|
||||
"Title" = "8:Setup ECO2_2025V1"
|
||||
@@ -1454,7 +1848,7 @@
|
||||
"ShowCmd" = "3:1"
|
||||
"IconIndex" = "3:0"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Target" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"Target" = "8:_85623F2834184CA2A083635A5BAE18C9"
|
||||
"Folder" = "8:_89D815457C274E5890E728BDBFF2EA16"
|
||||
"WorkingFolder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"Icon" = "8:_5D29234F4F444C9AAE7845416706303D"
|
||||
@@ -1468,7 +1862,7 @@
|
||||
"ShowCmd" = "3:1"
|
||||
"IconIndex" = "3:0"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Target" = "8:_DF16200C7C9B40998C022F2E37D1E143"
|
||||
"Target" = "8:_85623F2834184CA2A083635A5BAE18C9"
|
||||
"Folder" = "8:_8ACC8683286847D288C7D970B3389046"
|
||||
"WorkingFolder" = "8:_6C7F44AB37914E6C92F78768ABD1BC22"
|
||||
"Icon" = "8:_5D29234F4F444C9AAE7845416706303D"
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Utility</RootNamespace>
|
||||
<AssemblyName>Utility</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
|
||||
135
claudedocs/WebView2_Deployment_Guide.md
Normal file
135
claudedocs/WebView2_Deployment_Guide.md
Normal file
@@ -0,0 +1,135 @@
|
||||
# WebView2 Fixed Version 배포 가이드
|
||||
|
||||
## 개요
|
||||
|
||||
ECO2 프로그램은 WebView2 Fixed Version 방식을 사용하여 오프라인 환경에서도 매뉴얼 뷰어를 사용할 수 있습니다.
|
||||
|
||||
## Fixed Version 다운로드
|
||||
|
||||
### 1. 다운로드 위치
|
||||
https://developer.microsoft.com/microsoft-edge/webview2/#download-section
|
||||
|
||||
"Fixed Version" 섹션에서 다운로드합니다.
|
||||
|
||||
### 2. 버전 선택
|
||||
- **플랫폼**: x86 (32-bit) - ECO2는 x86 타겟입니다
|
||||
- **추천 버전**: 최신 Stable 버전
|
||||
- 파일 크기: 약 100-150MB
|
||||
|
||||
### 3. 다운로드 파일 예시
|
||||
- `Microsoft.WebView2.FixedVersionRuntime.{version}.x86.cab`
|
||||
- 또는 압축 해제된 폴더 형태
|
||||
|
||||
## 배포 방법
|
||||
|
||||
### 1. 폴더 구조
|
||||
```
|
||||
{프로그램 설치 폴더}/
|
||||
├── ECO2_2025V1.exe
|
||||
├── WebView2Runtime/ ← Fixed Version 런타임 폴더
|
||||
│ ├── msedge.exe
|
||||
│ ├── msedgewebview2.exe
|
||||
│ └── [기타 WebView2 파일들]
|
||||
└── WebView2Data/ ← 사용자 데이터 폴더 (자동 생성됨)
|
||||
└── [캐시, 쿠키 등]
|
||||
```
|
||||
|
||||
### 2. 설치 단계
|
||||
|
||||
#### 방법 1: 수동 배포 (개발/테스트)
|
||||
1. Fixed Version CAB 파일 또는 폴더 다운로드
|
||||
2. CAB 파일인 경우 압축 해제
|
||||
3. 압축 해제된 내용을 `WebView2Runtime` 폴더로 복사
|
||||
4. `WebView2Runtime` 폴더를 프로그램 실행 파일과 같은 위치에 배치
|
||||
|
||||
#### 방법 2: 설치 프로그램 포함 (프로덕션)
|
||||
Setup1 프로젝트에 WebView2Runtime 폴더를 포함:
|
||||
1. Setup1.vdproj 열기
|
||||
2. WebView2Runtime 폴더를 프로젝트에 추가
|
||||
3. 설치 시 Application Folder에 복사되도록 설정
|
||||
|
||||
## 동작 방식
|
||||
|
||||
### 런타임 검색 순서
|
||||
1. **Fixed Version 우선**: `{실행폴더}\WebView2Runtime` 폴더 검색
|
||||
2. **시스템 런타임 폴백**: 시스템에 설치된 WebView2 Runtime 사용
|
||||
3. **없을 경우**: 매뉴얼 기능 사용 시 오류 메시지 표시
|
||||
|
||||
### 프로그램 시작 시 검사
|
||||
- MdiMain 로드 시 `CheckWebView2Runtime()` 메서드가 Fixed Version 존재 여부 확인
|
||||
- Debug.WriteLine으로 경고 출력 (사용자에게는 미표시)
|
||||
- 실제 사용 시점(매뉴얼 열기)에만 오류 표시
|
||||
|
||||
### 오프라인 환경
|
||||
- Fixed Version이 배포되어 있으면 인터넷 연결 불필요
|
||||
- 모든 런타임 파일이 로컬에 포함되어 있음
|
||||
- 폐쇄망 환경에서도 정상 작동
|
||||
|
||||
## 버전 업데이트
|
||||
|
||||
### Fixed Version 업데이트 방법
|
||||
1. 새 Fixed Version 다운로드
|
||||
2. 기존 `WebView2Runtime` 폴더 백업 (선택사항)
|
||||
3. 새 버전으로 `WebView2Runtime` 폴더 교체
|
||||
4. 프로그램 재시작
|
||||
|
||||
### 주의사항
|
||||
- WebView2Runtime 폴더는 약 100-150MB이므로 Git에 커밋하지 않음
|
||||
- .gitignore에 이미 추가되어 있음
|
||||
- 설치 프로그램에는 반드시 포함해야 함
|
||||
|
||||
## 테스트 방법
|
||||
|
||||
### 1. Fixed Version 테스트
|
||||
```
|
||||
1. WebView2Runtime 폴더가 있는 상태에서 프로그램 실행
|
||||
2. "Manual" 메뉴 클릭
|
||||
3. http://localhost:58123/ 페이지가 정상적으로 로드되는지 확인
|
||||
```
|
||||
|
||||
### 2. 폴백(Fallback) 테스트
|
||||
```
|
||||
1. WebView2Runtime 폴더 임시 이름 변경 (예: WebView2Runtime_backup)
|
||||
2. 프로그램 실행 (시스템 런타임 사용 시도)
|
||||
3. "Manual" 메뉴 클릭
|
||||
4. 시스템에 런타임이 있으면 정상 작동, 없으면 오류 메시지
|
||||
```
|
||||
|
||||
### 3. 오프라인 테스트
|
||||
```
|
||||
1. 네트워크 연결 끊기
|
||||
2. Fixed Version 배포된 상태에서 프로그램 실행
|
||||
3. 매뉴얼 기능이 정상 작동하는지 확인
|
||||
```
|
||||
|
||||
## 문제 해결
|
||||
|
||||
### "WebView2 구성 요소를 찾을 수 없습니다" 오류
|
||||
**원인**: Fixed Version도 없고 시스템 런타임도 설치되지 않음
|
||||
|
||||
**해결**:
|
||||
1. WebView2Runtime 폴더가 실행 파일과 같은 위치에 있는지 확인
|
||||
2. WebView2Runtime 폴더 내에 msedgewebview2.exe 파일이 있는지 확인
|
||||
3. 또는 시스템에 WebView2 Runtime 설치: https://go.microsoft.com/fwlink/p/?LinkId=2124703
|
||||
|
||||
### 페이지 로딩 실패
|
||||
**원인**: 로컬 웹서버(http://localhost:58123/)가 실행되지 않음
|
||||
|
||||
**해결**:
|
||||
1. 로컬 웹서버가 실행 중인지 확인
|
||||
2. 포트 58123이 열려 있는지 확인
|
||||
3. Frm_WebManual.vb의 Navigate URL 수정 필요 시 수정
|
||||
|
||||
### WebView2Data 폴더 문제
|
||||
**원인**: 캐시 또는 쿠키 문제
|
||||
|
||||
**해결**:
|
||||
1. 프로그램 종료
|
||||
2. WebView2Data 폴더 삭제
|
||||
3. 프로그램 재시작 (자동으로 새 폴더 생성됨)
|
||||
|
||||
## 참고 자료
|
||||
|
||||
- WebView2 공식 문서: https://learn.microsoft.com/microsoft-edge/webview2/
|
||||
- Fixed Version 배포 가이드: https://learn.microsoft.com/microsoft-edge/webview2/concepts/distribution
|
||||
- WebView2 다운로드: https://developer.microsoft.com/microsoft-edge/webview2/
|
||||
68
download_owin_packages.bat
Normal file
68
download_owin_packages.bat
Normal file
@@ -0,0 +1,68 @@
|
||||
@echo off
|
||||
chcp 65001 > nul
|
||||
echo ========================================
|
||||
echo OWIN NuGet 패키지 다운로드
|
||||
echo (압축 해제는 수동으로 진행)
|
||||
echo ========================================
|
||||
echo.
|
||||
|
||||
REM 다운로드 폴더 생성
|
||||
echo [1/2] 다운로드 폴더 생성 중...
|
||||
if not exist "owin_packages" mkdir owin_packages
|
||||
cd owin_packages
|
||||
echo 완료
|
||||
echo.
|
||||
|
||||
REM NuGet 패키지 다운로드 (.zip으로 저장)
|
||||
echo [2/2] NuGet 패키지 다운로드 중...
|
||||
echo.
|
||||
|
||||
echo 다운로드: Owin.1.0.0.zip
|
||||
powershell -Command "Invoke-WebRequest -Uri 'https://www.nuget.org/api/v2/package/Owin/1.0.0' -OutFile 'Owin.1.0.0.zip'"
|
||||
echo 완료
|
||||
|
||||
echo 다운로드: Microsoft.Owin.2.1.0.zip
|
||||
powershell -Command "Invoke-WebRequest -Uri 'https://www.nuget.org/api/v2/package/Microsoft.Owin/2.1.0' -OutFile 'Microsoft.Owin.2.1.0.zip'"
|
||||
echo 완료
|
||||
|
||||
echo 다운로드: Microsoft.Owin.Host.HttpListener.2.1.0.zip
|
||||
powershell -Command "Invoke-WebRequest -Uri 'https://www.nuget.org/api/v2/package/Microsoft.Owin.Host.HttpListener/2.1.0' -OutFile 'Microsoft.Owin.Host.HttpListener.2.1.0.zip'"
|
||||
echo 완료
|
||||
|
||||
echo 다운로드: Microsoft.Owin.Hosting.2.1.0.zip
|
||||
powershell -Command "Invoke-WebRequest -Uri 'https://www.nuget.org/api/v2/package/Microsoft.Owin.Hosting/2.1.0' -OutFile 'Microsoft.Owin.Hosting.2.1.0.zip'"
|
||||
echo 완료
|
||||
|
||||
echo 다운로드: Microsoft.Owin.StaticFiles.2.1.0.zip
|
||||
powershell -Command "Invoke-WebRequest -Uri 'https://www.nuget.org/api/v2/package/Microsoft.Owin.StaticFiles/2.1.0' -OutFile 'Microsoft.Owin.StaticFiles.2.1.0.zip'"
|
||||
echo 완료
|
||||
|
||||
echo 다운로드: Microsoft.Owin.FileSystems.2.1.0.zip
|
||||
powershell -Command "Invoke-WebRequest -Uri 'https://www.nuget.org/api/v2/package/Microsoft.Owin.FileSystems/2.1.0' -OutFile 'Microsoft.Owin.FileSystems.2.1.0.zip'"
|
||||
echo 완료
|
||||
|
||||
cd ..
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
echo 다운로드 완료!
|
||||
echo ========================================
|
||||
echo.
|
||||
echo 다운로드된 파일 목록:
|
||||
dir /b owin_packages\*.zip
|
||||
echo.
|
||||
echo 다음 단계:
|
||||
echo 1. owin_packages 폴더 열기
|
||||
echo 2. 각 .zip 파일을 압축 해제
|
||||
echo 3. 각 폴더의 lib\net40\ 경로에서 .dll 파일 찾기
|
||||
echo 4. 모든 .dll 파일을 lib 폴더로 복사
|
||||
echo.
|
||||
echo 필요한 DLL 파일 목록:
|
||||
echo - Owin.dll
|
||||
echo - Microsoft.Owin.dll
|
||||
echo - Microsoft.Owin.Host.HttpListener.dll
|
||||
echo - Microsoft.Owin.Hosting.dll
|
||||
echo - Microsoft.Owin.StaticFiles.dll
|
||||
echo - Microsoft.Owin.FileSystems.dll
|
||||
echo.
|
||||
pause
|
||||
143
host_eco2_guide_fixed.bat
Normal file
143
host_eco2_guide_fixed.bat
Normal file
@@ -0,0 +1,143 @@
|
||||
@echo off
|
||||
chcp 65001 > nul
|
||||
echo ========================================
|
||||
echo ECO2 Guide Center 로컬 호스팅
|
||||
echo ========================================
|
||||
echo.
|
||||
|
||||
REM 현재 디렉토리 확인
|
||||
set CURRENT_DIR=%CD%
|
||||
echo 현재 디렉토리: %CURRENT_DIR%
|
||||
echo.
|
||||
|
||||
REM eco2_guide_center 저장소 경로 확인
|
||||
set GUIDE_REPO=eco2_guide_center
|
||||
if not exist "%GUIDE_REPO%" (
|
||||
echo [1/4] 저장소 클론 중...
|
||||
git clone https://github.com/VeryColdplay/eco2_guide_center.git
|
||||
if errorlevel 1 (
|
||||
echo 오류: 저장소 클론 실패
|
||||
echo Git이 설치되어 있는지 확인하세요.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo 완료
|
||||
) else (
|
||||
echo [1/4] 저장소 업데이트 중...
|
||||
cd %GUIDE_REPO%
|
||||
git pull
|
||||
cd ..
|
||||
echo 완료
|
||||
)
|
||||
echo.
|
||||
|
||||
REM 필요한 패키지 설치
|
||||
echo [2/4] Python 패키지 설치 중...
|
||||
echo (네트워크 연결이 필요합니다. 시간이 걸릴 수 있습니다...)
|
||||
echo.
|
||||
|
||||
REM 방화벽이나 프록시 문제가 있을 수 있으므로 개별 설치 시도
|
||||
pip install mkdocs-material 2>nul
|
||||
if errorlevel 1 (
|
||||
echo 경고: mkdocs-material 설치 실패 - 이미 설치되어 있거나 네트워크 문제일 수 있습니다.
|
||||
)
|
||||
|
||||
pip install mkdocs-macros-plugin 2>nul
|
||||
pip install mkdocs-mermaid2-plugin 2>nul
|
||||
pip install mkdocs-table-reader-plugin 2>nul
|
||||
pip install mkdocs-glightbox 2>nul
|
||||
pip install mkdocs-git-revision-date-localized-plugin 2>nul
|
||||
pip install mkdocs-minify-plugin 2>nul
|
||||
pip install mkdocs-awesome-pages-plugin 2>nul
|
||||
|
||||
echo 패키지 설치 시도 완료
|
||||
echo.
|
||||
|
||||
REM MkDocs 빌드
|
||||
echo [3/4] MkDocs 빌드 중...
|
||||
cd %GUIDE_REPO%
|
||||
|
||||
REM mkdocs.yml에서 awesome-pages 플러그인 제거 (임시)
|
||||
echo awesome-pages 플러그인 비활성화 중...
|
||||
powershell -Command "(Get-Content mkdocs.yml) -replace ' - awesome-pages', ' # - awesome-pages' | Set-Content mkdocs_temp.yml"
|
||||
|
||||
REM 정적 사이트 빌드
|
||||
echo MkDocs 빌드 실행...
|
||||
mkdocs build -f mkdocs_temp.yml
|
||||
if errorlevel 1 (
|
||||
echo.
|
||||
echo 오류: MkDocs 빌드 실패
|
||||
echo.
|
||||
echo 해결 방법:
|
||||
echo 1. Python이 설치되어 있는지 확인
|
||||
echo 2. 인터넷 연결 확인
|
||||
echo 3. 방화벽/프록시 설정 확인
|
||||
echo 4. 관리자 권한으로 실행
|
||||
echo.
|
||||
echo 또는 수동 설치:
|
||||
echo pip install mkdocs-material mkdocs-awesome-pages-plugin
|
||||
echo.
|
||||
del mkdocs_temp.yml 2>nul
|
||||
cd ..
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
del mkdocs_temp.yml 2>nul
|
||||
echo 완료
|
||||
echo.
|
||||
|
||||
REM ECO2 wwwroot 폴더로 복사
|
||||
echo [4/4] ECO2 wwwroot로 복사 중...
|
||||
cd ..
|
||||
|
||||
REM wwwroot 폴더 생성
|
||||
if not exist "wwwroot" mkdir wwwroot
|
||||
|
||||
REM 기존 파일 백업 (선택사항)
|
||||
if exist "wwwroot\index.html" (
|
||||
echo 기존 파일 발견 - 백업 생성 중...
|
||||
if not exist "wwwroot_backup" mkdir wwwroot_backup
|
||||
xcopy /E /I /Y "wwwroot\*" "wwwroot_backup\" > nul
|
||||
)
|
||||
|
||||
REM site 폴더 내용 복사
|
||||
echo 빌드된 파일 복사 중...
|
||||
xcopy /E /I /Y "%GUIDE_REPO%\site\*" "wwwroot\" > nul
|
||||
if errorlevel 1 (
|
||||
echo 오류: 파일 복사 실패
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo 완료
|
||||
echo.
|
||||
|
||||
REM 파일 개수 확인
|
||||
for /f %%A in ('dir /b /s "wwwroot\*.html" ^| find /c ".html"') do set HTML_COUNT=%%A
|
||||
echo 복사된 HTML 파일: %HTML_COUNT%개
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
echo 호스팅 준비 완료!
|
||||
echo ========================================
|
||||
echo.
|
||||
echo wwwroot 폴더: %CURRENT_DIR%\wwwroot
|
||||
echo.
|
||||
echo 다음 중 한 가지 방법으로 접속:
|
||||
echo.
|
||||
echo [방법 1] ECO2 프로그램의 OWIN 서버 사용
|
||||
echo 1. ECO2 프로그램 실행
|
||||
echo 2. OWIN 서버 시작 (포트 58123)
|
||||
echo 3. 브라우저: http://localhost:58123
|
||||
echo.
|
||||
echo [방법 2] MkDocs 개발 서버 사용 (추천 - 자동 새로고침)
|
||||
echo 1. cd eco2_guide_center
|
||||
echo 2. mkdocs serve
|
||||
echo 3. 브라우저: http://127.0.0.1:8000
|
||||
echo.
|
||||
echo [방법 3] Python 간단 서버 사용
|
||||
echo 1. cd wwwroot
|
||||
echo 2. python -m http.server 8080
|
||||
echo 3. 브라우저: http://localhost:8080
|
||||
echo.
|
||||
pause
|
||||
BIN
lib/Microsoft.Owin.FileSystems.dll
Normal file
BIN
lib/Microsoft.Owin.FileSystems.dll
Normal file
Binary file not shown.
BIN
lib/Microsoft.Owin.Host.HttpListener.dll
Normal file
BIN
lib/Microsoft.Owin.Host.HttpListener.dll
Normal file
Binary file not shown.
BIN
lib/Microsoft.Owin.Hosting.dll
Normal file
BIN
lib/Microsoft.Owin.Hosting.dll
Normal file
Binary file not shown.
BIN
lib/Microsoft.Owin.StaticFiles.dll
Normal file
BIN
lib/Microsoft.Owin.StaticFiles.dll
Normal file
Binary file not shown.
BIN
lib/Microsoft.Owin.dll
Normal file
BIN
lib/Microsoft.Owin.dll
Normal file
Binary file not shown.
BIN
lib/Owin.dll
Normal file
BIN
lib/Owin.dll
Normal file
Binary file not shown.
1
run_claude.bat
Normal file
1
run_claude.bat
Normal file
@@ -0,0 +1 @@
|
||||
claude --dangerously-skip-permissions
|
||||
Reference in New Issue
Block a user