mirror of
https://github.com/romanlryji/EventLogLoader.git
synced 2024-11-24 08:32:52 +02:00
clean up
This commit is contained in:
parent
bdf8b47353
commit
0e8e286d57
@ -1,20 +1,14 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio 2010
|
# Visual Studio 14
|
||||||
|
VisualStudioVersion = 14.0.25420.1
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EventLogLoaderDebug", "EventLogLoader\EventLogLoaderDebug.vbproj", "{2CE569B2-834D-4FE6-A23F-ACC68E8BDA9E}"
|
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EventLogLoaderDebug", "EventLogLoader\EventLogLoaderDebug.vbproj", "{2CE569B2-834D-4FE6-A23F-ACC68E8BDA9E}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EventLogLoaderManager", "EventLogLoaderManager\EventLogLoaderManager.vbproj", "{AF261326-5435-43E2-8407-4F0DFAED7B29}"
|
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EventLogLoaderManager", "EventLogLoaderManager\EventLogLoaderManager.vbproj", "{AF261326-5435-43E2-8407-4F0DFAED7B29}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "IniFile", "IniFile\IniFile.vbproj", "{8119A1A1-E5D6-4269-9A5C-0F49E039E72D}"
|
|
||||||
EndProject
|
|
||||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EventLogLoaderService", "EventLogLoaderService\EventLogLoaderService.vbproj", "{F7EF5930-B310-4697-B522-2325EAF247F2}"
|
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EventLogLoaderService", "EventLogLoaderService\EventLogLoaderService.vbproj", "{F7EF5930-B310-4697-B522-2325EAF247F2}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Installer", "Installer\Installer.vbproj", "{593952E2-6C95-4496-BFD5-C8C64DF78DE5}"
|
|
||||||
EndProject
|
|
||||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Service1C", "Service1C\Service1C.vbproj", "{7261F9CC-9B2F-4FA5-ADD3-9FCF4948623F}"
|
|
||||||
EndProject
|
|
||||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Parser", "Parser\Parser.vbproj", "{3164BFA8-8AC5-4BC2-965A-15D40B6316AA}"
|
|
||||||
EndProject
|
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
@ -45,16 +39,6 @@ Global
|
|||||||
{AF261326-5435-43E2-8407-4F0DFAED7B29}.Release|Mixed Platforms.Build.0 = Release|x86
|
{AF261326-5435-43E2-8407-4F0DFAED7B29}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||||
{AF261326-5435-43E2-8407-4F0DFAED7B29}.Release|x86.ActiveCfg = Release|x86
|
{AF261326-5435-43E2-8407-4F0DFAED7B29}.Release|x86.ActiveCfg = Release|x86
|
||||||
{AF261326-5435-43E2-8407-4F0DFAED7B29}.Release|x86.Build.0 = Release|x86
|
{AF261326-5435-43E2-8407-4F0DFAED7B29}.Release|x86.Build.0 = Release|x86
|
||||||
{8119A1A1-E5D6-4269-9A5C-0F49E039E72D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{8119A1A1-E5D6-4269-9A5C-0F49E039E72D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{8119A1A1-E5D6-4269-9A5C-0F49E039E72D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{8119A1A1-E5D6-4269-9A5C-0F49E039E72D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{8119A1A1-E5D6-4269-9A5C-0F49E039E72D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{8119A1A1-E5D6-4269-9A5C-0F49E039E72D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{8119A1A1-E5D6-4269-9A5C-0F49E039E72D}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{8119A1A1-E5D6-4269-9A5C-0F49E039E72D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{8119A1A1-E5D6-4269-9A5C-0F49E039E72D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{8119A1A1-E5D6-4269-9A5C-0F49E039E72D}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{F7EF5930-B310-4697-B522-2325EAF247F2}.Debug|Any CPU.ActiveCfg = Debug|x86
|
{F7EF5930-B310-4697-B522-2325EAF247F2}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||||
{F7EF5930-B310-4697-B522-2325EAF247F2}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
{F7EF5930-B310-4697-B522-2325EAF247F2}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||||
{F7EF5930-B310-4697-B522-2325EAF247F2}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
{F7EF5930-B310-4697-B522-2325EAF247F2}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||||
@ -65,36 +49,6 @@ Global
|
|||||||
{F7EF5930-B310-4697-B522-2325EAF247F2}.Release|Mixed Platforms.Build.0 = Release|x86
|
{F7EF5930-B310-4697-B522-2325EAF247F2}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||||
{F7EF5930-B310-4697-B522-2325EAF247F2}.Release|x86.ActiveCfg = Release|x86
|
{F7EF5930-B310-4697-B522-2325EAF247F2}.Release|x86.ActiveCfg = Release|x86
|
||||||
{F7EF5930-B310-4697-B522-2325EAF247F2}.Release|x86.Build.0 = Release|x86
|
{F7EF5930-B310-4697-B522-2325EAF247F2}.Release|x86.Build.0 = Release|x86
|
||||||
{593952E2-6C95-4496-BFD5-C8C64DF78DE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{593952E2-6C95-4496-BFD5-C8C64DF78DE5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{593952E2-6C95-4496-BFD5-C8C64DF78DE5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{593952E2-6C95-4496-BFD5-C8C64DF78DE5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{593952E2-6C95-4496-BFD5-C8C64DF78DE5}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{593952E2-6C95-4496-BFD5-C8C64DF78DE5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{593952E2-6C95-4496-BFD5-C8C64DF78DE5}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{593952E2-6C95-4496-BFD5-C8C64DF78DE5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{593952E2-6C95-4496-BFD5-C8C64DF78DE5}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{593952E2-6C95-4496-BFD5-C8C64DF78DE5}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{7261F9CC-9B2F-4FA5-ADD3-9FCF4948623F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{7261F9CC-9B2F-4FA5-ADD3-9FCF4948623F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{7261F9CC-9B2F-4FA5-ADD3-9FCF4948623F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{7261F9CC-9B2F-4FA5-ADD3-9FCF4948623F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{7261F9CC-9B2F-4FA5-ADD3-9FCF4948623F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{7261F9CC-9B2F-4FA5-ADD3-9FCF4948623F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{7261F9CC-9B2F-4FA5-ADD3-9FCF4948623F}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{7261F9CC-9B2F-4FA5-ADD3-9FCF4948623F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{7261F9CC-9B2F-4FA5-ADD3-9FCF4948623F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{7261F9CC-9B2F-4FA5-ADD3-9FCF4948623F}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{3164BFA8-8AC5-4BC2-965A-15D40B6316AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{3164BFA8-8AC5-4BC2-965A-15D40B6316AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{3164BFA8-8AC5-4BC2-965A-15D40B6316AA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{3164BFA8-8AC5-4BC2-965A-15D40B6316AA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{3164BFA8-8AC5-4BC2-965A-15D40B6316AA}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{3164BFA8-8AC5-4BC2-965A-15D40B6316AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{3164BFA8-8AC5-4BC2-965A-15D40B6316AA}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{3164BFA8-8AC5-4BC2-965A-15D40B6316AA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{3164BFA8-8AC5-4BC2-965A-15D40B6316AA}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{3164BFA8-8AC5-4BC2-965A-15D40B6316AA}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -158,10 +158,6 @@
|
|||||||
<Project>{F7EF5930-B310-4697-B522-2325EAF247F2}</Project>
|
<Project>{F7EF5930-B310-4697-B522-2325EAF247F2}</Project>
|
||||||
<Name>EventLogLoaderService</Name>
|
<Name>EventLogLoaderService</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\IniFile\IniFile.vbproj">
|
|
||||||
<Project>{8119A1A1-E5D6-4269-9A5C-0F49E039E72D}</Project>
|
|
||||||
<Name>IniFile</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||||
|
@ -69,6 +69,10 @@
|
|||||||
<ApplicationIcon>Untitled - 5.ico</ApplicationIcon>
|
<ApplicationIcon>Untitled - 5.ico</ApplicationIcon>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Reference Include="MySql.Data, Version=6.9.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>..\packages\MySql.Data.6.9.5\lib\net20\MySql.Data.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net35\Newtonsoft.Json.dll</HintPath>
|
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net35\Newtonsoft.Json.dll</HintPath>
|
||||||
<Private>True</Private>
|
<Private>True</Private>
|
||||||
@ -113,6 +117,8 @@
|
|||||||
<Compile Include="AddPath.vb">
|
<Compile Include="AddPath.vb">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="ServiceDescriptionClass.vb" />
|
||||||
|
<Compile Include="Installer.vb" />
|
||||||
<Compile Include="Form1.vb">
|
<Compile Include="Form1.vb">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@ -170,18 +176,6 @@
|
|||||||
<Project>{F7EF5930-B310-4697-B522-2325EAF247F2}</Project>
|
<Project>{F7EF5930-B310-4697-B522-2325EAF247F2}</Project>
|
||||||
<Name>EventLogLoaderService</Name>
|
<Name>EventLogLoaderService</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\IniFile\IniFile.vbproj">
|
|
||||||
<Project>{8119A1A1-E5D6-4269-9A5C-0F49E039E72D}</Project>
|
|
||||||
<Name>IniFile</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\Installer\Installer.vbproj">
|
|
||||||
<Project>{593952E2-6C95-4496-BFD5-C8C64DF78DE5}</Project>
|
|
||||||
<Name>Installer</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\Service1C\Service1C.vbproj">
|
|
||||||
<Project>{7261F9CC-9B2F-4FA5-ADD3-9FCF4948623F}</Project>
|
|
||||||
<Name>Service1C</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
|
@ -4,73 +4,30 @@ Imports System.Management
|
|||||||
Imports System.Data.SqlClient
|
Imports System.Data.SqlClient
|
||||||
Imports MySql.Data.MySqlClient
|
Imports MySql.Data.MySqlClient
|
||||||
Imports System.Net
|
Imports System.Net
|
||||||
|
Imports EventLogLoaderService
|
||||||
|
|
||||||
Public Class Form1
|
Public Class Form1
|
||||||
|
|
||||||
Dim ArrayServices() As Service1C.ServiceDescriptionClass
|
Dim ArrayServices() As ServiceDescriptionClass
|
||||||
Dim PathIniFile = Path.Combine(My.Application.Info.DirectoryPath, "setting.ini")
|
Dim PathConfigFile = Path.Combine(My.Application.Info.DirectoryPath, "config.json")
|
||||||
Dim IniFile As IniFile.IniFileClass = New IniFile.IniFileClass
|
|
||||||
Dim GroupExtraPath As ListViewGroup
|
Dim GroupExtraPath As ListViewGroup
|
||||||
|
|
||||||
Structure InfobaseParams
|
Dim ConfigSetting As ConfigSetting = New ConfigSetting
|
||||||
Dim Guid As String
|
|
||||||
Dim Name As String
|
|
||||||
Dim CatalogEventlog As String
|
|
||||||
Dim Found As Boolean
|
|
||||||
End Structure
|
|
||||||
|
|
||||||
Dim ArrayInfoBaseParamSaved As List(Of InfobaseParams) = New List(Of InfobaseParams)
|
|
||||||
|
|
||||||
Sub LoadFromIniFile()
|
Sub LoadFromIniFile()
|
||||||
|
|
||||||
If My.Computer.FileSystem.FileExists(PathIniFile) Then
|
ConfigSetting = ConfigSettingsModule.LoadConfigSettingFromFile(PathConfigFile)
|
||||||
IniFile.Load(PathIniFile)
|
|
||||||
|
|
||||||
|
ConnectionStringBox.Text = ConfigSetting.ConnectionString
|
||||||
Dim s = IniFile.RestoreIniValue(IniFile, "GlobalValues", "ConnectionString")
|
DBType.Text = ConfigSetting.DBType
|
||||||
If Not s = "" Then
|
RepeatTime.Text = ConfigSetting.RepeatTime.ToString
|
||||||
ConnectionStringBox.Text = s
|
|
||||||
End If
|
|
||||||
|
|
||||||
s = IniFile.RestoreIniValue(IniFile, "GlobalValues", "DBType")
|
|
||||||
If Not s = "" Then
|
|
||||||
DBType.Text = s
|
|
||||||
End If
|
|
||||||
|
|
||||||
Try
|
|
||||||
s = IniFile.RestoreIniValue(IniFile, "GlobalValues", "RepeatTime")
|
|
||||||
If Not s = "" Then
|
|
||||||
RepeatTime.Text = Convert.ToInt32(s).ToString
|
|
||||||
End If
|
|
||||||
Catch ex As Exception
|
|
||||||
RepeatTime.Text = 60
|
|
||||||
End Try
|
|
||||||
|
|
||||||
Dim i = 0
|
|
||||||
s = IniFile.RestoreIniValue(IniFile, "GlobalValues", "DatabaseCount")
|
|
||||||
If Not s = "" Then
|
|
||||||
i = Convert.ToInt32(s)
|
|
||||||
End If
|
|
||||||
|
|
||||||
For j = 1 To i
|
|
||||||
|
|
||||||
Dim IB = New InfobaseParams
|
|
||||||
IB.Guid = IniFile.RestoreIniValue(IniFile, "Databases", "DatabaseID" + j.ToString)
|
|
||||||
IB.Name = IniFile.RestoreIniValue(IniFile, "Databases", "DatabaseName" + j.ToString)
|
|
||||||
IB.CatalogEventlog = IniFile.RestoreIniValue(IniFile, "Databases", "DatabaseCatalog" + j.ToString)
|
|
||||||
|
|
||||||
ArrayInfoBaseParamSaved.Add(IB)
|
|
||||||
|
|
||||||
Next
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
Function FindInfobase(Guid As String) As Service1C.ServiceDescriptionClass.Infobases
|
Function FindInfobase(Guid As String) As ServiceDescriptionClass.Infobases
|
||||||
|
|
||||||
FindInfobase = New Service1C.ServiceDescriptionClass.Infobases
|
FindInfobase = New ServiceDescriptionClass.Infobases
|
||||||
|
|
||||||
For Each Srv In ArrayServices
|
For Each Srv In ArrayServices
|
||||||
If Not Srv.ArrayInfobases Is Nothing Then
|
If Not Srv.ArrayInfobases Is Nothing Then
|
||||||
@ -90,53 +47,40 @@ Public Class Form1
|
|||||||
|
|
||||||
FindInfobaseInSavedParams = False
|
FindInfobaseInSavedParams = False
|
||||||
|
|
||||||
For i = 0 To ArrayInfoBaseParamSaved.Count - 1
|
For Each IB In ConfigSetting.Infobases
|
||||||
Dim IB = ArrayInfoBaseParamSaved(i)
|
If IB.DatabaseID = Guid Then
|
||||||
If IB.Guid = Guid Then
|
|
||||||
IB.Found = True
|
IB.Found = True
|
||||||
ArrayInfoBaseParamSaved(i) = IB
|
|
||||||
Return True
|
Return True
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
'For Each Ib In ArrayInfoBaseParamSaved
|
|
||||||
' If Ib.Guid = Guid Then
|
|
||||||
' Ib.Found = True
|
|
||||||
' Return True
|
|
||||||
' End If
|
|
||||||
'Next
|
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
|
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
|
||||||
|
|
||||||
If My.Computer.FileSystem.FileExists(PathIniFile) Then
|
Dim ConfigSetting = New ConfigSetting
|
||||||
IniFile.Load(PathIniFile)
|
ConfigSetting.ConnectionString = ConnectionStringBox.Text.Trim
|
||||||
IniFile.RemoveAllSections()
|
ConfigSetting.DBType = DBType.Text.Trim
|
||||||
End If
|
|
||||||
|
|
||||||
IniFile.AddSection("GlobalValues").AddKey("ConnectionString").Value = ConnectionStringBox.Text.Trim
|
|
||||||
IniFile.AddSection("GlobalValues").AddKey("DBType").Value = DBType.Text.Trim
|
|
||||||
|
|
||||||
Dim i = 0
|
|
||||||
For Each Item As ListViewItem In ListView.Items
|
For Each Item As ListViewItem In ListView.Items
|
||||||
If Item.Checked Then
|
If Item.Checked Then
|
||||||
|
|
||||||
i = i + 1
|
Dim IBSetting = New ConfigSettingsModule.InfobaseSetting
|
||||||
|
IBSetting.DatabaseID = Item.SubItems(1).Text
|
||||||
|
IBSetting.DatabaseName = Item.SubItems(0).Text
|
||||||
|
IBSetting.DatabaseCatalog = Item.SubItems(4).Text
|
||||||
|
|
||||||
IniFile.AddSection("Databases").AddKey("DatabaseID" + i.ToString).Value = Item.SubItems(1).Text
|
ConfigSetting.Infobases.Add(IBSetting)
|
||||||
IniFile.AddSection("Databases").AddKey("DatabaseName" + i.ToString).Value = Item.SubItems(0).Text
|
|
||||||
IniFile.AddSection("Databases").AddKey("DatabaseCatalog" + i.ToString).Value = Item.SubItems(4).Text
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
IniFile.AddSection("GlobalValues").AddKey("DatabaseCount").Value = i
|
|
||||||
|
|
||||||
Dim Rep = Convert.ToInt32(RepeatTime.Text)
|
Dim Rep = Convert.ToInt32(RepeatTime.Text)
|
||||||
|
|
||||||
IniFile.AddSection("GlobalValues").AddKey("RepeatTime").Value = IIf(Rep = 0, 60, Rep)
|
ConfigSetting.RepeatTime = IIf(Rep = 0, 60, Rep)
|
||||||
|
ConfigSettingsModule.SaveConfigSettingToFile(ConfigSetting, PathConfigFile)
|
||||||
|
|
||||||
IniFile.Save(PathIniFile)
|
|
||||||
|
|
||||||
Dim sc = New System.ServiceProcess.ServiceController("EventLog loader service")
|
Dim sc = New System.ServiceProcess.ServiceController("EventLog loader service")
|
||||||
Try
|
Try
|
||||||
@ -166,10 +110,10 @@ Public Class Form1
|
|||||||
Dim User = "LocalSystem"
|
Dim User = "LocalSystem"
|
||||||
Dim Pwd = ""
|
Dim Pwd = ""
|
||||||
|
|
||||||
If Not Installer.ObjTec.Services.ServiceInstaller.InstallService(PathName, ServName, DisplayName, lpDependencies, User, Pwd) Then
|
If Not ObjTec.Services.ServiceInstaller.InstallService(PathName, ServName, DisplayName, lpDependencies, User, Pwd) Then
|
||||||
|
|
||||||
Dim ErrorCode = Marshal.GetLastWin32Error()
|
Dim ErrorCode = Marshal.GetLastWin32Error()
|
||||||
MsgBox("Ошибка установки службы Windows: " + Installer.ObjTec.Services.ServiceInstaller.GetErrorDescription(ErrorCode), , Text)
|
MsgBox("Ошибка установки службы Windows: " + ObjTec.Services.ServiceInstaller.GetErrorDescription(ErrorCode), , Text)
|
||||||
|
|
||||||
Else
|
Else
|
||||||
|
|
||||||
@ -184,10 +128,10 @@ Public Class Form1
|
|||||||
|
|
||||||
Dim ServName = "EventLog loader service"
|
Dim ServName = "EventLog loader service"
|
||||||
|
|
||||||
If Not Installer.ObjTec.Services.ServiceInstaller.UninstallService(ServName) Then
|
If Not ObjTec.Services.ServiceInstaller.UninstallService(ServName) Then
|
||||||
|
|
||||||
Dim ErrorCode = Marshal.GetLastWin32Error()
|
Dim ErrorCode = Marshal.GetLastWin32Error()
|
||||||
MsgBox("Ошибка удаления службы Windows: " + Installer.ObjTec.Services.ServiceInstaller.GetErrorDescription(ErrorCode), , Text)
|
MsgBox("Ошибка удаления службы Windows: " + ObjTec.Services.ServiceInstaller.GetErrorDescription(ErrorCode), , Text)
|
||||||
|
|
||||||
Else
|
Else
|
||||||
|
|
||||||
@ -226,7 +170,7 @@ Public Class Form1
|
|||||||
Dim PathName As String = info("PathName")
|
Dim PathName As String = info("PathName")
|
||||||
Dim DisplayName As String = info("DisplayName")
|
Dim DisplayName As String = info("DisplayName")
|
||||||
|
|
||||||
Dim Serv = New Service1C.ServiceDescriptionClass
|
Dim Serv = New ServiceDescriptionClass
|
||||||
Serv.Name = info("Name")
|
Serv.Name = info("Name")
|
||||||
Serv.DisplayName = info("DisplayName")
|
Serv.DisplayName = info("DisplayName")
|
||||||
Serv.Description = info("Description")
|
Serv.Description = info("Description")
|
||||||
@ -281,29 +225,24 @@ Public Class Form1
|
|||||||
GroupExtraPath = New ListViewGroup("Дополнительные пути для загрузки событий из ЖР")
|
GroupExtraPath = New ListViewGroup("Дополнительные пути для загрузки событий из ЖР")
|
||||||
ListView.Groups.Add(GroupExtraPath)
|
ListView.Groups.Add(GroupExtraPath)
|
||||||
|
|
||||||
|
For Each IB In ConfigSetting.Infobases
|
||||||
For Each Ib In ArrayInfoBaseParamSaved
|
If Not IB.Found Then
|
||||||
If Not Ib.Found Then
|
Dim item1 = New ListViewItem(IB.DatabaseName, GroupExtraPath)
|
||||||
|
|
||||||
Dim item1 = New ListViewItem(Ib.Name, GroupExtraPath)
|
|
||||||
item1.Checked = True
|
item1.Checked = True
|
||||||
item1.SubItems.Add(Ib.Guid)
|
item1.SubItems.Add(IB.DatabaseID)
|
||||||
item1.SubItems.Add("")
|
item1.SubItems.Add("")
|
||||||
item1.SubItems.Add(CalcullateFolderSize(Ib.CatalogEventlog))
|
item1.SubItems.Add(CalcullateFolderSize(IB.DatabaseCatalog))
|
||||||
item1.SubItems.Add(Ib.CatalogEventlog)
|
item1.SubItems.Add(IB.DatabaseCatalog)
|
||||||
|
|
||||||
ListView.Items.Add(item1)
|
ListView.Items.Add(item1)
|
||||||
|
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Function LoadFileInfobasesList() As List(Of Service1C.ServiceDescriptionClass.Infobases)
|
Private Function LoadFileInfobasesList() As List(Of ServiceDescriptionClass.Infobases)
|
||||||
|
|
||||||
Dim Result As List(Of Service1C.ServiceDescriptionClass.Infobases) = New List(Of Service1C.ServiceDescriptionClass.Infobases)
|
Dim Result As List(Of ServiceDescriptionClass.Infobases) = New List(Of ServiceDescriptionClass.Infobases)
|
||||||
|
|
||||||
'Try
|
'Try
|
||||||
|
|
||||||
@ -313,7 +252,7 @@ Public Class Form1
|
|||||||
|
|
||||||
Dim reader As StreamReader = My.Computer.FileSystem.OpenTextFileReader(IbasesListPath)
|
Dim reader As StreamReader = My.Computer.FileSystem.OpenTextFileReader(IbasesListPath)
|
||||||
Dim aa As String = ""
|
Dim aa As String = ""
|
||||||
Dim Infobase As Service1C.ServiceDescriptionClass.Infobases = Nothing
|
Dim Infobase As ServiceDescriptionClass.Infobases = Nothing
|
||||||
|
|
||||||
Try
|
Try
|
||||||
Do
|
Do
|
||||||
@ -328,7 +267,7 @@ Public Class Form1
|
|||||||
Result.Add(Infobase)
|
Result.Add(Infobase)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Infobase = New Service1C.ServiceDescriptionClass.Infobases
|
Infobase = New ServiceDescriptionClass.Infobases
|
||||||
Infobase.Name = a.Substring(1, a.Length - 2)
|
Infobase.Name = a.Substring(1, a.Length - 2)
|
||||||
ElseIf a.StartsWith("Connect=File=") Then
|
ElseIf a.StartsWith("Connect=File=") Then
|
||||||
'Connect=File="C:\Users\Alex\Documents\AS";
|
'Connect=File="C:\Users\Alex\Documents\AS";
|
||||||
@ -355,7 +294,7 @@ Public Class Form1
|
|||||||
Infobase.GUID = a.Substring(3)
|
Infobase.GUID = a.Substring(3)
|
||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Infobase = New Service1C.ServiceDescriptionClass.Infobases
|
Infobase = New ServiceDescriptionClass.Infobases
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
aa = reader.ReadLine
|
aa = reader.ReadLine
|
||||||
|
220
EventLogLoaderManager/Installer.vb
Normal file
220
EventLogLoaderManager/Installer.vb
Normal file
@ -0,0 +1,220 @@
|
|||||||
|
Imports System
|
||||||
|
Imports System.Runtime.InteropServices
|
||||||
|
Namespace ObjTec.Services
|
||||||
|
Friend Class NativeMethods
|
||||||
|
Private Sub New()
|
||||||
|
End Sub
|
||||||
|
<DllImport("advapi32.dll", EntryPoint:="OpenSCManagerW", ExactSpelling:=True, CharSet:=CharSet.Unicode, SetLastError:=True)> _
|
||||||
|
Friend Shared Function OpenSCManager(machineName As String, databaseName As String, dwAccess As UInteger) As IntPtr
|
||||||
|
End Function
|
||||||
|
<DllImport("advapi32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||||
|
Friend Shared Function CreateService(hSCManager As IntPtr, lpServiceName As String, lpDisplayName As String, dwDesiredAccess As UInteger, dwServiceType As UInteger, dwStartType As UInteger, _
|
||||||
|
dwErrorControl As UInteger, lpBinaryPathName As String, lpLoadOrderGroup As String, lpdwTagId As UInteger, lpDependencies As String, lpServiceStartName As String, _
|
||||||
|
lpPassword As String) As IntPtr
|
||||||
|
End Function
|
||||||
|
<DllImport("advapi32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||||
|
Friend Shared Function ChangeServiceConfig(hService As IntPtr, dwServiceType As UInteger, dwStartType As UInteger, dwErrorControl As UInteger, _
|
||||||
|
lpBinaryPathName As String, lpLoadOrderGroup As String, lpdwTagId As UInteger, lpDependencies As String, lpServiceStartName As String, _
|
||||||
|
lpPassword As String, lpDisplayName As String) As IntPtr
|
||||||
|
End Function
|
||||||
|
<DllImport("advapi32.dll")> _
|
||||||
|
Friend Shared Function CloseServiceHandle(scHandle As IntPtr) As <MarshalAs(UnmanagedType.Bool)> Boolean
|
||||||
|
End Function
|
||||||
|
<DllImport("advapi32", SetLastError:=True)> _
|
||||||
|
Friend Shared Function StartService(hService As IntPtr, dwNumServiceArgs As Integer, lpServiceArgVectors As String()) As <MarshalAs(UnmanagedType.Bool)> Boolean
|
||||||
|
End Function
|
||||||
|
<DllImport("advapi32.dll", SetLastError:=True)> _
|
||||||
|
Friend Shared Function OpenService(scHandle As IntPtr, lpSvcName As String, dwNumServiceArgs As Integer) As IntPtr
|
||||||
|
End Function
|
||||||
|
<DllImport("advapi32.dll")> _
|
||||||
|
Friend Shared Function DeleteService(svHandle As IntPtr) As Integer
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
|
Public Class ServiceInstaller
|
||||||
|
Public Shared Function InstallService(svcPath As String, svcName As String, svcDispName As String, lpDependencies As String, User As String, Password As String) As Boolean
|
||||||
|
Dim SC_MANAGER_CREATE_SERVICE As UInteger = &H2
|
||||||
|
Dim SC_MANAGER_ALL_ACCESS As UInteger = &HF003F
|
||||||
|
Dim SERVICE_WIN32_OWN_PROCESS As UInteger = &H10
|
||||||
|
Dim SERVICE_ERROR_NORMAL As UInteger = &H1
|
||||||
|
Dim STANDARD_RIGHTS_REQUIRED As UInteger = &HF0000
|
||||||
|
Dim SERVICE_QUERY_CONFIG As UInteger = &H1
|
||||||
|
Dim SERVICE_CHANGE_CONFIG As UInteger = &H2
|
||||||
|
Dim SERVICE_QUERY_STATUS As UInteger = &H4
|
||||||
|
Dim SERVICE_ENUMERATE_DEPENDENTS As UInteger = &H8
|
||||||
|
Dim SERVICE_START As UInteger = &H10
|
||||||
|
Dim SERVICE_STOP As UInteger = &H20
|
||||||
|
Dim SERVICE_PAUSE_CONTINUE As UInteger = &H40
|
||||||
|
Dim SERVICE_INTERROGATE As UInteger = &H80
|
||||||
|
Dim SERVICE_USER_DEFINED_CONTROL As UInteger = &H100
|
||||||
|
Dim SERVICE_ALL_ACCESS As UInteger = (STANDARD_RIGHTS_REQUIRED Or SERVICE_QUERY_CONFIG Or SERVICE_CHANGE_CONFIG Or SERVICE_QUERY_STATUS Or SERVICE_ENUMERATE_DEPENDENTS Or SERVICE_START Or SERVICE_STOP Or SERVICE_PAUSE_CONTINUE Or SERVICE_INTERROGATE Or SERVICE_USER_DEFINED_CONTROL)
|
||||||
|
Dim SERVICE_AUTO_START As UInteger = &H2
|
||||||
|
Dim sc_handle As IntPtr = NativeMethods.OpenSCManager(Nothing, Nothing, SC_MANAGER_ALL_ACCESS)
|
||||||
|
If Not sc_handle.Equals(IntPtr.Zero) Then
|
||||||
|
Dim sv_handle As IntPtr = NativeMethods.CreateService(sc_handle, svcName, svcDispName, SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START, _
|
||||||
|
SERVICE_ERROR_NORMAL, svcPath, Nothing, 0, lpDependencies, User, IIf(Password = "", Nothing, Password))
|
||||||
|
If sv_handle.Equals(IntPtr.Zero) Then
|
||||||
|
'Console.WriteLine(Marshal.GetLastWin32Error())
|
||||||
|
NativeMethods.CloseServiceHandle(sv_handle)
|
||||||
|
NativeMethods.CloseServiceHandle(sc_handle)
|
||||||
|
Return False
|
||||||
|
Else
|
||||||
|
'Dim test As Boolean = NativeMethods.StartService(sv_handle, 0, Nothing)
|
||||||
|
NativeMethods.CloseServiceHandle(sv_handle)
|
||||||
|
'If Not test Then
|
||||||
|
' Return False
|
||||||
|
'End If
|
||||||
|
NativeMethods.CloseServiceHandle(sc_handle)
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Shared Function TestConnection() As Boolean
|
||||||
|
|
||||||
|
Dim SC_MANAGER_CREATE_SERVICE As UInteger = &H2
|
||||||
|
Dim SC_MANAGER_ALL_ACCESS As UInteger = &HF003F
|
||||||
|
Dim SERVICE_WIN32_OWN_PROCESS As UInteger = &H10
|
||||||
|
Dim SERVICE_ERROR_NORMAL As UInteger = &H1
|
||||||
|
Dim STANDARD_RIGHTS_REQUIRED As UInteger = &HF0000
|
||||||
|
Dim SERVICE_QUERY_CONFIG As UInteger = &H1
|
||||||
|
Dim SERVICE_CHANGE_CONFIG As UInteger = &H2
|
||||||
|
Dim SERVICE_QUERY_STATUS As UInteger = &H4
|
||||||
|
Dim SERVICE_ENUMERATE_DEPENDENTS As UInteger = &H8
|
||||||
|
Dim SERVICE_START As UInteger = &H10
|
||||||
|
Dim SERVICE_STOP As UInteger = &H20
|
||||||
|
Dim SERVICE_PAUSE_CONTINUE As UInteger = &H40
|
||||||
|
Dim SERVICE_INTERROGATE As UInteger = &H80
|
||||||
|
Dim SERVICE_USER_DEFINED_CONTROL As UInteger = &H100
|
||||||
|
Dim SERVICE_ALL_ACCESS As UInteger = (STANDARD_RIGHTS_REQUIRED Or SERVICE_QUERY_CONFIG Or SERVICE_CHANGE_CONFIG Or SERVICE_QUERY_STATUS Or SERVICE_ENUMERATE_DEPENDENTS Or SERVICE_START Or SERVICE_STOP Or SERVICE_PAUSE_CONTINUE Or SERVICE_INTERROGATE Or SERVICE_USER_DEFINED_CONTROL)
|
||||||
|
Dim SERVICE_AUTO_START As UInteger = &H2
|
||||||
|
Dim sc_handle As IntPtr = NativeMethods.OpenSCManager(Nothing, Nothing, SC_MANAGER_ALL_ACCESS)
|
||||||
|
|
||||||
|
If Not sc_handle.Equals(IntPtr.Zero) Then
|
||||||
|
Return True
|
||||||
|
Else
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Shared Function ChangeServiceParameters(svcPath As String, svcName As String, svcDispName As String, lpDependencies As String, User As String, Password As String) As Boolean
|
||||||
|
Dim SC_MANAGER_CREATE_SERVICE As UInteger = &H2
|
||||||
|
Dim SC_MANAGER_ALL_ACCESS As UInteger = &HF003F
|
||||||
|
Dim SERVICE_WIN32_OWN_PROCESS As UInteger = &H10
|
||||||
|
Dim SERVICE_ERROR_NORMAL As UInteger = &H1
|
||||||
|
Dim STANDARD_RIGHTS_REQUIRED As UInteger = &HF0000
|
||||||
|
Dim SERVICE_QUERY_CONFIG As UInteger = &H1
|
||||||
|
Dim SERVICE_CHANGE_CONFIG As UInteger = &H2
|
||||||
|
Dim SERVICE_QUERY_STATUS As UInteger = &H4
|
||||||
|
Dim SERVICE_ENUMERATE_DEPENDENTS As UInteger = &H8
|
||||||
|
Dim SERVICE_START As UInteger = &H10
|
||||||
|
Dim SERVICE_STOP As UInteger = &H20
|
||||||
|
Dim SERVICE_PAUSE_CONTINUE As UInteger = &H40
|
||||||
|
Dim SERVICE_INTERROGATE As UInteger = &H80
|
||||||
|
Dim SERVICE_USER_DEFINED_CONTROL As UInteger = &H100
|
||||||
|
Dim SERVICE_ALL_ACCESS As UInteger = (STANDARD_RIGHTS_REQUIRED Or SERVICE_QUERY_CONFIG Or SERVICE_CHANGE_CONFIG Or SERVICE_QUERY_STATUS Or SERVICE_ENUMERATE_DEPENDENTS Or SERVICE_START Or SERVICE_STOP Or SERVICE_PAUSE_CONTINUE Or SERVICE_INTERROGATE Or SERVICE_USER_DEFINED_CONTROL)
|
||||||
|
Dim SERVICE_AUTO_START As UInteger = &H2
|
||||||
|
|
||||||
|
|
||||||
|
Dim GENERIC_WRITE As UInteger = &H40000000
|
||||||
|
Dim sc_hndl As IntPtr = NativeMethods.OpenSCManager(Nothing, Nothing, GENERIC_WRITE)
|
||||||
|
If sc_hndl.ToInt32() <> 0 Then
|
||||||
|
Dim svc_hndl As IntPtr = NativeMethods.OpenService(sc_hndl, svcName, SC_MANAGER_ALL_ACCESS)
|
||||||
|
If svc_hndl.ToInt32() <> 0 Then
|
||||||
|
|
||||||
|
Dim i As Integer = NativeMethods.ChangeServiceConfig(svc_hndl, SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START, _
|
||||||
|
SERVICE_ERROR_NORMAL, svcPath, Nothing, 0, lpDependencies, User, IIf(Password = "", Nothing, Password), svcDispName)
|
||||||
|
''ErrorCode = i
|
||||||
|
NativeMethods.CloseServiceHandle(svc_hndl)
|
||||||
|
If i <> 0 Then
|
||||||
|
NativeMethods.CloseServiceHandle(sc_hndl)
|
||||||
|
Return True
|
||||||
|
Else
|
||||||
|
NativeMethods.CloseServiceHandle(sc_hndl)
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Function
|
||||||
|
Public Shared Function UninstallService(svcName As String) As Boolean
|
||||||
|
Dim GENERIC_WRITE As UInteger = &H40000000
|
||||||
|
Dim sc_hndl As IntPtr = NativeMethods.OpenSCManager(Nothing, Nothing, GENERIC_WRITE)
|
||||||
|
If sc_hndl.ToInt32() <> 0 Then
|
||||||
|
Dim DELETE As Integer = &H10000
|
||||||
|
Dim svc_hndl As IntPtr = NativeMethods.OpenService(sc_hndl, svcName, DELETE)
|
||||||
|
If svc_hndl.ToInt32() <> 0 Then
|
||||||
|
Dim i As Integer = NativeMethods.DeleteService(svc_hndl)
|
||||||
|
NativeMethods.CloseServiceHandle(svc_hndl)
|
||||||
|
If i <> 0 Then
|
||||||
|
NativeMethods.CloseServiceHandle(sc_hndl)
|
||||||
|
Return True
|
||||||
|
Else
|
||||||
|
NativeMethods.CloseServiceHandle(sc_hndl)
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Shared Function GetErrorDescription(ErrorNumber As Integer) As String
|
||||||
|
|
||||||
|
Dim Desc = ""
|
||||||
|
|
||||||
|
'If Procedure = "DeleteService" Then ' OpenService OpenSCManager ChangeServiceConfig CreateService
|
||||||
|
|
||||||
|
'End If
|
||||||
|
|
||||||
|
If ErrorNumber = 5 Then
|
||||||
|
'ERROR_ACCESS_DENIED
|
||||||
|
Desc = "The handle does not have access to the service."
|
||||||
|
ElseIf ErrorNumber = 1059 Then
|
||||||
|
'ERROR_CIRCULAR_DEPENDENCY
|
||||||
|
Desc = "A circular service dependency was specified."
|
||||||
|
ElseIf ErrorNumber = 1065 Then
|
||||||
|
'ERROR_DATABASE_DOES_NOT_EXIST
|
||||||
|
Desc = "The specified database does not exist."
|
||||||
|
ElseIf ErrorNumber = 1078 Then
|
||||||
|
'ERROR_DUPLICATE_SERVICE_NAME
|
||||||
|
Desc = "The display name already exists in the service control manager database either as a service name or as another display name."
|
||||||
|
ElseIf ErrorNumber = 6 Then
|
||||||
|
'ERROR_INVALID_HANDLE ---------------
|
||||||
|
Desc = "The handle to the specified service control manager database is invalid."
|
||||||
|
ElseIf ErrorNumber = 123 Then
|
||||||
|
'ERROR_INVALID_NAME
|
||||||
|
Desc = "The specified service name is invalid."
|
||||||
|
ElseIf ErrorNumber = 87 Then
|
||||||
|
'ERROR_INVALID_PARAMETER
|
||||||
|
Desc = "A parameter that was specified is invalid."
|
||||||
|
ElseIf ErrorNumber = 1057 Then
|
||||||
|
'ERROR_INVALID_SERVICE_ACCOUNT
|
||||||
|
Desc = "The account name does not exist, or a service is specified to share the same binary file as an already installed service but with an account name that is not the same as the installed service."
|
||||||
|
ElseIf ErrorNumber = 1060 Then
|
||||||
|
'ERROR_SERVICE_DOES_NOT_EXIST
|
||||||
|
Desc = "The specified service does not exist."
|
||||||
|
ElseIf ErrorNumber = 1072 Then
|
||||||
|
'ERROR_SERVICE_MARKED_FOR_DELETE
|
||||||
|
Desc = "The service has been marked for deletion."
|
||||||
|
ElseIf ErrorNumber = 1073 Then
|
||||||
|
'ERROR_SERVICE_EXISTS
|
||||||
|
Desc = "The specified service already exists in this database."
|
||||||
|
End If
|
||||||
|
|
||||||
|
GetErrorDescription = "№ " + ErrorNumber.ToString + " - " + Desc
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
End Class
|
||||||
|
End Namespace
|
||||||
|
|
248
EventLogLoaderManager/ServiceDescriptionClass.vb
Normal file
248
EventLogLoaderManager/ServiceDescriptionClass.vb
Normal file
@ -0,0 +1,248 @@
|
|||||||
|
Imports System.IO
|
||||||
|
Imports EventLogLoaderService
|
||||||
|
|
||||||
|
Public Class ServiceDescriptionClass
|
||||||
|
Public Name As String
|
||||||
|
Public DisplayName As String
|
||||||
|
Public Description As String
|
||||||
|
Public PathName As String
|
||||||
|
Public User As String
|
||||||
|
|
||||||
|
Public Debug As Boolean = False
|
||||||
|
Public ExeFile As String = ""
|
||||||
|
Public ClusterFiles As String = ""
|
||||||
|
Public PortAgent As Integer = 1540
|
||||||
|
Public PortMngr As Integer = 1541
|
||||||
|
Public PortProcessBegin As Integer = 1560
|
||||||
|
Public PortProcessEnd As Integer = 1591
|
||||||
|
|
||||||
|
Public Structure Infobases
|
||||||
|
Dim Name As String
|
||||||
|
Dim Description As String
|
||||||
|
Dim GUID As String
|
||||||
|
Dim SizeEventLog As Integer
|
||||||
|
Dim CatalogEventLog As String
|
||||||
|
End Structure
|
||||||
|
|
||||||
|
Public ArrayInfobases() As Infobases
|
||||||
|
|
||||||
|
Sub ParsePath()
|
||||||
|
|
||||||
|
Dim PathNameTemp = PathName.ToLower
|
||||||
|
|
||||||
|
If PathNameTemp.Contains("-debug") _
|
||||||
|
Or PathNameTemp.Contains("/debug") Then
|
||||||
|
|
||||||
|
Debug = True
|
||||||
|
|
||||||
|
PathNameTemp = PathNameTemp.Replace("-debug", "")
|
||||||
|
PathNameTemp = PathNameTemp.Replace("/debug", "")
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim Ind = PathNameTemp.IndexOf("ragent.exe")
|
||||||
|
If Ind > 0 Then
|
||||||
|
ExeFile = PathNameTemp.Substring(0, Ind + 10)
|
||||||
|
ExeFile = ExeFile.Replace("""", "")
|
||||||
|
|
||||||
|
PathNameTemp = PathNameTemp.Substring(Ind + 11)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Ind = PathNameTemp.IndexOf("-regport")
|
||||||
|
If Ind > 0 Then
|
||||||
|
|
||||||
|
Dim PortStr = ""
|
||||||
|
Dim i = 0
|
||||||
|
Dim Simb = PathNameTemp.Substring(Ind + 8 + i, 1)
|
||||||
|
|
||||||
|
While "0123456789 ".Contains(Simb)
|
||||||
|
|
||||||
|
PortStr = PortStr + Simb
|
||||||
|
i = i + 1
|
||||||
|
Simb = PathNameTemp.Substring(Ind + 8 + i, 1)
|
||||||
|
|
||||||
|
End While
|
||||||
|
|
||||||
|
Try
|
||||||
|
PortMngr = Convert.ToInt32(PortStr)
|
||||||
|
Catch ex As Exception
|
||||||
|
|
||||||
|
End Try
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Ind = PathNameTemp.IndexOf("-port")
|
||||||
|
If Ind > 0 Then
|
||||||
|
|
||||||
|
Dim PortStr = ""
|
||||||
|
Dim i = 0
|
||||||
|
Dim Simb = PathNameTemp.Substring(Ind + 5 + i, 1)
|
||||||
|
|
||||||
|
While "0123456789 ".Contains(Simb)
|
||||||
|
|
||||||
|
PortStr = PortStr + Simb
|
||||||
|
i = i + 1
|
||||||
|
Simb = PathNameTemp.Substring(Ind + 5 + i, 1)
|
||||||
|
|
||||||
|
End While
|
||||||
|
|
||||||
|
Try
|
||||||
|
PortAgent = Convert.ToInt32(PortStr)
|
||||||
|
Catch ex As Exception
|
||||||
|
|
||||||
|
End Try
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Ind = PathNameTemp.IndexOf("-range")
|
||||||
|
If Ind > 0 Then
|
||||||
|
|
||||||
|
Dim PortStr = ""
|
||||||
|
Dim i = 0
|
||||||
|
Dim Simb = PathNameTemp.Substring(Ind + 6 + i, 1)
|
||||||
|
|
||||||
|
While "0123456789 :".Contains(Simb)
|
||||||
|
|
||||||
|
PortStr = PortStr + Simb
|
||||||
|
i = i + 1
|
||||||
|
Simb = PathNameTemp.Substring(Ind + 6 + i, 1)
|
||||||
|
|
||||||
|
End While
|
||||||
|
|
||||||
|
Try
|
||||||
|
|
||||||
|
Ind = PortStr.IndexOf(":")
|
||||||
|
PortProcessBegin = Convert.ToInt32(PortStr.Substring(0, Ind))
|
||||||
|
PortProcessEnd = Convert.ToInt32(PortStr.Substring(Ind + 1))
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
|
||||||
|
End Try
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Ind = PathNameTemp.IndexOf("-d")
|
||||||
|
If Ind > 0 Then
|
||||||
|
|
||||||
|
Dim PathStr = PathNameTemp.Substring(Ind + 2)
|
||||||
|
Dim Simb = PathStr.Substring(0, 1)
|
||||||
|
|
||||||
|
While " """.Contains(Simb)
|
||||||
|
|
||||||
|
PathStr = PathStr.Substring(2)
|
||||||
|
Simb = PathStr.Substring(1, 1)
|
||||||
|
|
||||||
|
End While
|
||||||
|
|
||||||
|
Ind = PathStr.IndexOf("""")
|
||||||
|
If Ind > 0 Then
|
||||||
|
ClusterFiles = PathStr.Substring(0, Ind)
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
'А теперь финт ушами - ищем полученные строки в иходной строке и вырезаем оттуда с корректным регистром
|
||||||
|
Ind = PathName.ToLower.IndexOf(ExeFile)
|
||||||
|
If Ind > 0 Then
|
||||||
|
ExeFile = PathName.Substring(Ind, ExeFile.Length)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Ind = PathName.ToLower.IndexOf(ClusterFiles)
|
||||||
|
If Ind > 0 Then
|
||||||
|
ClusterFiles = PathName.Substring(Ind, ClusterFiles.Length)
|
||||||
|
End If
|
||||||
|
|
||||||
|
'"C:\Program Files\1cv82\8.2.17.153\bin\ragent.exe" -debug -srvc -agent
|
||||||
|
'-regport 2541 -port 2540 -range 2560:2591 -d "C:\Program Files\1cv82\srvinfo"
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub GetInfobases()
|
||||||
|
|
||||||
|
Try
|
||||||
|
Dim Catalog = Path.Combine(ClusterFiles, "reg_" + PortMngr.ToString)
|
||||||
|
|
||||||
|
Dim TMP = My.Computer.FileSystem.GetTempFileName()
|
||||||
|
|
||||||
|
'8.2
|
||||||
|
Dim ConfFilePath As String = Path.Combine(Catalog, "1CV8Reg.lst")
|
||||||
|
If My.Computer.FileSystem.FileExists(ConfFilePath) Then
|
||||||
|
My.Computer.FileSystem.CopyFile(ConfFilePath, TMP, True)
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
'8.3
|
||||||
|
ConfFilePath = Path.Combine(Catalog, "1CV8Clst.lst")
|
||||||
|
If My.Computer.FileSystem.FileExists(ConfFilePath) Then
|
||||||
|
My.Computer.FileSystem.CopyFile(ConfFilePath, TMP, True)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim Text = My.Computer.FileSystem.ReadAllText(TMP)
|
||||||
|
My.Computer.FileSystem.DeleteFile(TMP)
|
||||||
|
|
||||||
|
Dim Array = ParserServices.ParseString(Text)
|
||||||
|
|
||||||
|
Dim i = 0
|
||||||
|
|
||||||
|
For Each a In Array
|
||||||
|
If Not a Is Nothing Then
|
||||||
|
If a.Length = 11 And a(0).StartsWith("1.2.") Then
|
||||||
|
|
||||||
|
Dim IB = New Infobases
|
||||||
|
IB.Name = a(2).ToString
|
||||||
|
IB.GUID = a(1).ToString
|
||||||
|
IB.Description = a(3).ToString
|
||||||
|
IB.SizeEventLog = 0
|
||||||
|
|
||||||
|
Try
|
||||||
|
|
||||||
|
Dim SizeLog As UInt64 = 0
|
||||||
|
Dim CatalogEventLog = Path.Combine(Path.Combine(Catalog, IB.GUID), "1Cv8Log\")
|
||||||
|
|
||||||
|
IB.CatalogEventLog = CatalogEventLog
|
||||||
|
|
||||||
|
If My.Computer.FileSystem.DirectoryExists(CatalogEventLog) Then
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
For Each File In My.Computer.FileSystem.GetFiles(CatalogEventLog)
|
||||||
|
Dim FI = My.Computer.FileSystem.GetFileInfo(File)
|
||||||
|
SizeLog = SizeLog + FI.Length
|
||||||
|
Next
|
||||||
|
|
||||||
|
IB.SizeEventLog = Math.Round(SizeLog / 1024 / 1024, 2)
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
|
||||||
|
End Try
|
||||||
|
|
||||||
|
ReDim Preserve ArrayInfobases(i)
|
||||||
|
ArrayInfobases(i) = IB
|
||||||
|
|
||||||
|
i = i + 1
|
||||||
|
|
||||||
|
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
|
||||||
|
System.Array.Sort(ArrayInfobases)
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
|
||||||
|
End Try
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
48
EventLogLoaderService/ConfigSettings.vb
Normal file
48
EventLogLoaderService/ConfigSettings.vb
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
Imports Newtonsoft.Json
|
||||||
|
|
||||||
|
Public Module ConfigSettingsModule
|
||||||
|
|
||||||
|
Class InfobaseSetting
|
||||||
|
Public DatabaseID As String
|
||||||
|
Public DatabaseName As String
|
||||||
|
Public DatabaseCatalog As String
|
||||||
|
Public Found As Boolean
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Class ConfigSetting
|
||||||
|
Public ConnectionString As String
|
||||||
|
Public DBType As String
|
||||||
|
Public RepeatTime As Integer
|
||||||
|
Public Infobases As List(Of InfobaseSetting)
|
||||||
|
Sub New()
|
||||||
|
Infobases = New List(Of InfobaseSetting)
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Function LoadConfigSettingFromFile(ConfigFilePath As String) As ConfigSetting
|
||||||
|
|
||||||
|
If My.Computer.FileSystem.FileExists(ConfigFilePath) Then
|
||||||
|
|
||||||
|
Dim JsonText = My.Computer.FileSystem.ReadAllText(ConfigFilePath)
|
||||||
|
|
||||||
|
Dim ConfigSettingObj = JsonConvert.DeserializeObject(Of ConfigSetting)(JsonText)
|
||||||
|
|
||||||
|
Return ConfigSettingObj
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return Nothing
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Sub SaveConfigSettingToFile(ConfigSettingObj As ConfigSetting, ConfigFilePath As String)
|
||||||
|
|
||||||
|
Dim JsonText As String = JsonConvert.SerializeObject(ConfigSettingObj, Formatting.Indented)
|
||||||
|
|
||||||
|
My.Computer.FileSystem.WriteAllText(ConfigFilePath, JsonText, False)
|
||||||
|
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
End Module
|
@ -102,10 +102,12 @@
|
|||||||
<Import Include="System.Diagnostics" />
|
<Import Include="System.Diagnostics" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="ConfigSettings.vb" />
|
||||||
<Compile Include="My Project\Application.Designer.vb">
|
<Compile Include="My Project\Application.Designer.vb">
|
||||||
<AutoGen>True</AutoGen>
|
<AutoGen>True</AutoGen>
|
||||||
<DependentUpon>Application.myapp</DependentUpon>
|
<DependentUpon>Application.myapp</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Parser.vb" />
|
||||||
<Compile Include="ProjectInstaller.Designer.vb">
|
<Compile Include="ProjectInstaller.Designer.vb">
|
||||||
<DependentUpon>ProjectInstaller.vb</DependentUpon>
|
<DependentUpon>ProjectInstaller.vb</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
@ -159,16 +161,6 @@
|
|||||||
</None>
|
</None>
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\IniFile\IniFile.vbproj">
|
|
||||||
<Project>{8119A1A1-E5D6-4269-9A5C-0F49E039E72D}</Project>
|
|
||||||
<Name>IniFile</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\Parser\Parser.vbproj">
|
|
||||||
<Project>{3164BFA8-8AC5-4BC2-965A-15D40B6316AA}</Project>
|
|
||||||
<Name>Parser</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||||
<Visible>False</Visible>
|
<Visible>False</Visible>
|
||||||
|
188
EventLogLoaderService/Parser.vb
Normal file
188
EventLogLoaderService/Parser.vb
Normal file
@ -0,0 +1,188 @@
|
|||||||
|
Public Module ParserServices
|
||||||
|
|
||||||
|
Function ParseString(Text As String)
|
||||||
|
|
||||||
|
Dim Array(0)
|
||||||
|
|
||||||
|
If Not Text = "" Then
|
||||||
|
|
||||||
|
Dim RowArr(2)
|
||||||
|
|
||||||
|
Dim j = 0
|
||||||
|
Dim OpenBlock = False
|
||||||
|
Dim Level = 0
|
||||||
|
|
||||||
|
For i = 0 To Text.Length - 1
|
||||||
|
|
||||||
|
Dim Simb = Text.Substring(i, 1)
|
||||||
|
Dim SubStr = ""
|
||||||
|
|
||||||
|
If OpenBlock Then
|
||||||
|
If Simb = """" Then
|
||||||
|
OpenBlock = False
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
If Simb = "{" Then
|
||||||
|
Level = Level + 1
|
||||||
|
SubStr = "НачалоУровня"
|
||||||
|
ElseIf Simb = "}" Then
|
||||||
|
Level = Level - 1
|
||||||
|
SubStr = "ОкончаниеУровня"
|
||||||
|
ElseIf Simb = """" Then
|
||||||
|
OpenBlock = True
|
||||||
|
ElseIf Simb = "," Then
|
||||||
|
SubStr = "Разделитель"
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not SubStr = "" Then
|
||||||
|
ReDim Preserve Array(j)
|
||||||
|
ReDim RowArr(2)
|
||||||
|
RowArr(0) = i
|
||||||
|
RowArr(1) = SubStr
|
||||||
|
RowArr(2) = Level
|
||||||
|
|
||||||
|
Array(j) = RowArr
|
||||||
|
j = j + 1
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim ArrayBases(0)
|
||||||
|
Dim ArrayRow(2)
|
||||||
|
Dim ArrayLines(0)
|
||||||
|
|
||||||
|
If Array.Length > 1 Then
|
||||||
|
|
||||||
|
Dim ArrayLevel(10) As Integer
|
||||||
|
Dim ArrayValue(0)
|
||||||
|
|
||||||
|
Dim Level = 0
|
||||||
|
' Dim CountLines = 0
|
||||||
|
Dim LastVal = 0
|
||||||
|
Dim StrLevel = ""
|
||||||
|
|
||||||
|
For Each a In Array
|
||||||
|
|
||||||
|
Select Case a(1)
|
||||||
|
Case "НачалоУровня"
|
||||||
|
|
||||||
|
If Not StrLevel = "" Then
|
||||||
|
ArrayValue(0) = StrLevel
|
||||||
|
ArrayLines(ArrayLines.Length - 1) = ArrayValue
|
||||||
|
ReDim Preserve ArrayLines(ArrayLines.Length)
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
' CountLines = CountLines + 1
|
||||||
|
ArrayLevel(Level) = ArrayLevel(Level) + 1
|
||||||
|
Level = Level + 1
|
||||||
|
|
||||||
|
StrLevel = ""
|
||||||
|
For j = 0 To Level - 1
|
||||||
|
StrLevel = IIf(StrLevel = "", "", StrLevel + ".") + ArrayLevel(j).ToString
|
||||||
|
Next
|
||||||
|
|
||||||
|
ReDim ArrayValue(0)
|
||||||
|
|
||||||
|
Case "ОкончаниеУровня"
|
||||||
|
|
||||||
|
Dim TextStr = Text.Substring(LastVal + 1, a(0) - LastVal - 1)
|
||||||
|
TextStr = TextStr.Replace("""""", """")
|
||||||
|
If TextStr = """" Then TextStr = ""
|
||||||
|
|
||||||
|
If TextStr.StartsWith("""") And TextStr.EndsWith("""") Then
|
||||||
|
TextStr = TextStr.Substring(1, TextStr.Length - 2)
|
||||||
|
End If
|
||||||
|
'If Not TextStr = "" Then
|
||||||
|
ReDim Preserve ArrayValue(ArrayValue.Length)
|
||||||
|
ArrayValue(ArrayValue.Length - 1) = TextStr
|
||||||
|
'End If
|
||||||
|
|
||||||
|
|
||||||
|
ArrayValue(0) = StrLevel
|
||||||
|
ArrayLines(ArrayLines.Length - 1) = ArrayValue
|
||||||
|
ReDim Preserve ArrayLines(ArrayLines.Length)
|
||||||
|
|
||||||
|
'ArrayLevel(Level) = ArrayLevel(Level) - 1
|
||||||
|
ArrayLevel(Level) = 0
|
||||||
|
Level = Level - 1
|
||||||
|
|
||||||
|
ReDim ArrayValue(0)
|
||||||
|
|
||||||
|
StrLevel = ""
|
||||||
|
For j = 0 To Level - 1
|
||||||
|
StrLevel = IIf(StrLevel = "", "", StrLevel + ".") + ArrayLevel(j).ToString
|
||||||
|
Next
|
||||||
|
|
||||||
|
|
||||||
|
Case "Разделитель"
|
||||||
|
|
||||||
|
Dim TextStr = Text.Substring(LastVal + 1, a(0) - LastVal - 1)
|
||||||
|
TextStr = TextStr.Replace("""""", """")
|
||||||
|
If TextStr = """" Then TextStr = ""
|
||||||
|
|
||||||
|
If TextStr.StartsWith("""") And TextStr.EndsWith("""") Then
|
||||||
|
TextStr = TextStr.Substring(1, TextStr.Length - 2)
|
||||||
|
End If
|
||||||
|
|
||||||
|
'If Not TextStr = "" Then
|
||||||
|
ReDim Preserve ArrayValue(ArrayValue.Length)
|
||||||
|
ArrayValue(ArrayValue.Length - 1) = TextStr
|
||||||
|
'End If
|
||||||
|
|
||||||
|
End Select
|
||||||
|
|
||||||
|
LastVal = a(0)
|
||||||
|
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return ArrayLines
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Function ParseEventlogString(Text As String)
|
||||||
|
|
||||||
|
Dim ArrayLines(0)
|
||||||
|
|
||||||
|
Dim Text2 = Text.Substring(1, IIf(Text.EndsWith(","), Text.Length - 3, Text.Length - 2)) + ","
|
||||||
|
|
||||||
|
Dim Str = ""
|
||||||
|
|
||||||
|
Dim Delim = Text2.IndexOf(",")
|
||||||
|
Dim i = 0
|
||||||
|
|
||||||
|
While Delim > 0
|
||||||
|
Str = Str + Text2.Substring(0, Delim)
|
||||||
|
Text2 = Text2.Substring(Delim + 1)
|
||||||
|
|
||||||
|
If CountSubstringInString(Str, "{") = CountSubstringInString(Str, "}") _
|
||||||
|
And Math.IEEERemainder(CountSubstringInString(Str, """"), 2) = 0 Then
|
||||||
|
|
||||||
|
ReDim Preserve ArrayLines(i)
|
||||||
|
ArrayLines(i) = Str.Trim
|
||||||
|
i = i + 1
|
||||||
|
Str = ""
|
||||||
|
Else
|
||||||
|
Str = Str + ","
|
||||||
|
End If
|
||||||
|
|
||||||
|
Delim = Text2.IndexOf(",")
|
||||||
|
|
||||||
|
End While
|
||||||
|
|
||||||
|
Return ArrayLines
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Function CountSubstringInString(Str As String, SubStr As String)
|
||||||
|
|
||||||
|
CountSubstringInString = (Str.Length - Str.Replace(SubStr, "").Length) / SubStr.Length
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
End Module
|
@ -600,7 +600,7 @@ Public Class EventLogLoaderService
|
|||||||
' ReDim Preserve Events(Events.Length)
|
' ReDim Preserve Events(Events.Length)
|
||||||
'End If
|
'End If
|
||||||
|
|
||||||
Dim Array = Parser.ParserServices.ParsesClass.ParseEventlogString(Str)
|
Dim Array = ParserServices.ParseEventlogString(Str)
|
||||||
OneEvent.DateTime = Date.ParseExact(Array(0), "yyyyMMddHHmmss", provider)
|
OneEvent.DateTime = Date.ParseExact(Array(0), "yyyyMMddHHmmss", provider)
|
||||||
OneEvent.TransactionStatus = Array(1)
|
OneEvent.TransactionStatus = Array(1)
|
||||||
|
|
||||||
@ -1008,7 +1008,7 @@ Public Class EventLogLoaderService
|
|||||||
FS.Close()
|
FS.Close()
|
||||||
|
|
||||||
|
|
||||||
Dim ArrayLines = Parser.ParserServices.ParsesClass.ParseString(Text)
|
Dim ArrayLines = ParserServices.ParseString(Text)
|
||||||
|
|
||||||
Dim i = 0
|
Dim i = 0
|
||||||
For Each a In ArrayLines
|
For Each a In ArrayLines
|
||||||
@ -1442,59 +1442,42 @@ Public Class EventLogLoaderService
|
|||||||
|
|
||||||
Dim ArrayIB() As InfoBaseEventlog
|
Dim ArrayIB() As InfoBaseEventlog
|
||||||
Dim ArrayThread() As Threading.Thread
|
Dim ArrayThread() As Threading.Thread
|
||||||
Dim Param As IniFile.IniFileClass
|
Dim ConfigSettingObj As ConfigSetting = New ConfigSetting
|
||||||
Dim ConnectionString As String
|
Dim ConnectionString As String
|
||||||
Dim DBType As String
|
Dim DBType As String
|
||||||
Dim ItIsMSSQL As Boolean = False
|
Dim ItIsMSSQL As Boolean = False
|
||||||
Dim ItIsMySQL As Boolean = False
|
Dim ItIsMySQL As Boolean = False
|
||||||
Public SleepTime As Integer = 60 * 1000 '1 минута
|
Public SleepTime As Integer = 60 * 1000 '1 минута
|
||||||
|
|
||||||
Function LoadIniFileParams()
|
Function LoadConfigSetting()
|
||||||
|
|
||||||
LoadIniFileParams = False
|
LoadConfigSetting = False
|
||||||
|
|
||||||
Try
|
Try
|
||||||
Param = New IniFile.IniFileClass
|
|
||||||
|
|
||||||
Dim PathIniFile = Path.Combine(My.Application.Info.DirectoryPath, "setting.ini")
|
Dim PathConfigFile = Path.Combine(My.Application.Info.DirectoryPath, "config.json")
|
||||||
If My.Computer.FileSystem.FileExists(PathIniFile) Then
|
If My.Computer.FileSystem.FileExists(PathConfigFile) Then
|
||||||
|
|
||||||
Param.Load(PathIniFile)
|
ConfigSettingObj = ConfigSettingsModule.LoadConfigSettingFromFile(PathConfigFile)
|
||||||
|
|
||||||
Dim s As String
|
ConnectionString = ConfigSettingObj.ConnectionString
|
||||||
|
|
||||||
s = Param.RestoreIniValue(Param, "GlobalValues", "ConnectionString")
|
DBType = ConfigSettingObj.DBType
|
||||||
If Not s = "" Then
|
If DBType = "MySQL" Then
|
||||||
ConnectionString = s
|
ItIsMySQL = True
|
||||||
|
ElseIf DBType = "MS SQL Server" Then
|
||||||
|
ItIsMSSQL = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
s = Param.RestoreIniValue(Param, "GlobalValues", "DBType")
|
Dim s = ConfigSettingObj.RepeatTime
|
||||||
If Not s = "" Then
|
SleepTime = s * 1000
|
||||||
DBType = s
|
|
||||||
|
|
||||||
If DBType = "MySQL" Then
|
Dim i = 0
|
||||||
ItIsMySQL = True
|
For Each IBConfig In ConfigSettingObj.Infobases
|
||||||
ElseIf DBType = "MS SQL Server" Then
|
|
||||||
ItIsMSSQL = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
Try
|
Dim IB_ID = IBConfig.DatabaseID
|
||||||
s = Param.RestoreIniValue(Param, "GlobalValues", "RepeatTime")
|
Dim IB_Name = IBConfig.DatabaseName
|
||||||
If Not s = "" Then
|
Dim IB_Catalog = IBConfig.DatabaseCatalog
|
||||||
SleepTime = Convert.ToInt32(s) * 1000
|
|
||||||
End If
|
|
||||||
Catch ex As Exception
|
|
||||||
End Try
|
|
||||||
|
|
||||||
Dim CountStr = Param.RestoreIniValue(Param, "GlobalValues", "DatabaseCount")
|
|
||||||
Dim Count As Integer = Convert.ToInt32(IIf(CountStr = "", "0", CountStr))
|
|
||||||
|
|
||||||
For i = 1 To Count
|
|
||||||
|
|
||||||
Dim IB_ID = Param.RestoreIniValue(Param, "Databases", "DatabaseID" + i.ToString)
|
|
||||||
Dim IB_Name = Param.RestoreIniValue(Param, "Databases", "DatabaseName" + i.ToString)
|
|
||||||
Dim IB_Catalog = Param.RestoreIniValue(Param, "Databases", "DatabaseCatalog" + i.ToString)
|
|
||||||
|
|
||||||
Dim IB = New InfoBaseEventlog
|
Dim IB = New InfoBaseEventlog
|
||||||
IB.Log = NLog.LogManager.GetLogger("CurrentThread")
|
IB.Log = NLog.LogManager.GetLogger("CurrentThread")
|
||||||
@ -1506,22 +1489,22 @@ Public Class EventLogLoaderService
|
|||||||
IB.ItIsMSSQL = ItIsMSSQL
|
IB.ItIsMSSQL = ItIsMSSQL
|
||||||
IB.ItIsMySQL = ItIsMySQL
|
IB.ItIsMySQL = ItIsMySQL
|
||||||
|
|
||||||
ReDim Preserve ArrayIB(i - 1)
|
ReDim Preserve ArrayIB(i)
|
||||||
ArrayIB(i - 1) = IB
|
ArrayIB(i) = IB
|
||||||
|
|
||||||
|
i = i + 1
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
|
||||||
LoadIniFileParams = True
|
LoadConfigSetting = True
|
||||||
Else
|
Else
|
||||||
Log.Error("Файл setting.ini не найден")
|
Log.Error("Файл config.json не найден")
|
||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Log.ErrorException("Ошибка загрузки параметров из ini-файла", ex)
|
Log.ErrorException("Ошибка загрузки параметров из config.json", ex)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private WorkerThread As Thread
|
Private WorkerThread As Thread
|
||||||
@ -1571,7 +1554,7 @@ Public Class EventLogLoaderService
|
|||||||
|
|
||||||
'Log.Info("Запуск основного функционала")
|
'Log.Info("Запуск основного функционала")
|
||||||
|
|
||||||
If Not LoadIniFileParams() Then
|
If Not LoadConfigSetting() Then
|
||||||
Log.Error("Ошибка работы с файлом параметров setting.ini в каталоге приложения")
|
Log.Error("Ошибка работы с файлом параметров setting.ini в каталоге приложения")
|
||||||
Environment.Exit(-1)
|
Environment.Exit(-1)
|
||||||
End If
|
End If
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
Imports System.IO
|
Imports System.IO
|
||||||
|
Imports EventLogLoaderService
|
||||||
|
|
||||||
Public Class ServiceDescriptionClass
|
Public Class ServiceDescriptionClass
|
||||||
Public Name As String
|
Public Name As String
|
||||||
@ -181,7 +182,7 @@ Public Class ServiceDescriptionClass
|
|||||||
Dim Text = My.Computer.FileSystem.ReadAllText(TMP)
|
Dim Text = My.Computer.FileSystem.ReadAllText(TMP)
|
||||||
My.Computer.FileSystem.DeleteFile(TMP)
|
My.Computer.FileSystem.DeleteFile(TMP)
|
||||||
|
|
||||||
Dim Array = Parser.ParserServices.ParsesClass.ParseString(Text)
|
Dim Array = ParserServices.ParseString(Text)
|
||||||
|
|
||||||
Dim i = 0
|
Dim i = 0
|
||||||
|
|
||||||
|
@ -97,9 +97,9 @@
|
|||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\Parser\Parser.vbproj">
|
<ProjectReference Include="..\EventLogLoaderService\EventLogLoaderService.vbproj">
|
||||||
<Project>{3164BFA8-8AC5-4BC2-965A-15D40B6316AA}</Project>
|
<Project>{F7EF5930-B310-4697-B522-2325EAF247F2}</Project>
|
||||||
<Name>Parser</Name>
|
<Name>EventLogLoaderService</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||||
|
Loading…
Reference in New Issue
Block a user