Skip to content

Commit 98a2f69

Browse files
committed
Properly check for versions using processes file info
1 parent 9401ada commit 98a2f69

2 files changed

Lines changed: 93 additions & 57 deletions

File tree

PSMSVirtualDeviceManager/StartPage/TroubleshootIssueTracker/ClassLogProcesses.vb

Lines changed: 93 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
Imports PSMSVirtualDeviceManager.ClassLogDiagnostics
1+
Imports System.Text.RegularExpressions
2+
Imports PSMSVirtualDeviceManager.ClassLogDiagnostics
23

34
Public Class ClassLogProcesses
45
Implements ILogAction
56

67
Public Shared ReadOnly SECTION_PROCESSES As String = "Running Processes"
78
Public Shared ReadOnly LOG_ISSUE_BAD_SERVICE_PATH As String = "PSMoveServiceEx not installed using Virtual Device Manager"
9+
Public Shared ReadOnly LOG_ISSUE_BAD_SERVICE_VERSION As String = "Outdated PSMoveServiceEx version"
10+
Public Shared ReadOnly LOG_ISSUE_BAD_MANAGER_VERSION As String = "Outdated PSMoveServiceEx - Virtual Device Manager version"
811

912
Private g_mFormMain As FormMain
1013
Private g_ClassLogContent As ClassLogContent
@@ -72,6 +75,8 @@ Public Class ClassLogProcesses
7275
Public Function GetIssues() As STRUC_LOG_ISSUE() Implements ILogAction.GetIssues
7376
Dim mIssues As New List(Of STRUC_LOG_ISSUE)
7477
mIssues.AddRange(CheckServicePath())
78+
mIssues.AddRange(CheckServiceVersion())
79+
mIssues.AddRange(CheckManagerVersion())
7580
Return mIssues.ToArray
7681
End Function
7782

@@ -127,7 +132,94 @@ Public Class ClassLogProcesses
127132
End If
128133
End If
129134

135+
Return mIssues.ToArray
136+
End Function
137+
138+
Public Function CheckServiceVersion() As STRUC_LOG_ISSUE()
139+
Dim mIssues As New List(Of STRUC_LOG_ISSUE)
140+
141+
Dim sContent As String = GetSectionContent()
142+
If (sContent Is Nothing) Then
130143
Return mIssues.ToArray
144+
End If
145+
146+
Dim mTemplate As New STRUC_LOG_ISSUE(
147+
LOG_ISSUE_BAD_SERVICE_VERSION,
148+
"This PSMoveServiceEx version is outdated (Current: v{0} / Newest: v{1}) and could still have issues that already have been fixed or missing new features.",
149+
"Udpate PSMoveServiceEx.",
150+
ENUM_LOG_ISSUE_TYPE.WARNING
151+
)
152+
153+
For Each mProcess In GetProcesses()
154+
Select Case (mProcess.sName.ToLowerInvariant)
155+
Case "PSMoveService".ToLowerInvariant,
156+
"PSMoveServiceAdmin".ToLowerInvariant
157+
Dim sCurrentVersion As String = mProcess.sFileVersion
158+
159+
Try
160+
Dim sNextVersion As String = ClassUpdate.ClassPsms.GetNextVersion(Nothing)
161+
162+
sNextVersion = Regex.Match(sNextVersion, "[0-9\.]+").Value
163+
sCurrentVersion = Regex.Match(sCurrentVersion, "[0-9\.]+").Value
164+
165+
If (New Version(sNextVersion) > New Version(sCurrentVersion)) Then
166+
Dim mNewIssue As New STRUC_LOG_ISSUE(mTemplate)
167+
mNewIssue.sDescription = String.Format(mTemplate.sDescription, New Version(sCurrentVersion).ToString, New Version(sNextVersion).ToString)
168+
169+
mIssues.Add(mNewIssue)
170+
End If
171+
Catch ex As Threading.ThreadAbortException
172+
Throw
173+
Catch ex As Exception
174+
' Ignore any connection issues
175+
End Try
176+
End Select
177+
Next
178+
179+
Return mIssues.ToArray
180+
End Function
181+
182+
Public Function CheckManagerVersion() As STRUC_LOG_ISSUE()
183+
Dim mIssues As New List(Of STRUC_LOG_ISSUE)
184+
185+
Dim sContent As String = GetSectionContent()
186+
If (sContent Is Nothing) Then
187+
Return mIssues.ToArray
188+
End If
189+
190+
Dim mTemplate As New STRUC_LOG_ISSUE(
191+
LOG_ISSUE_BAD_MANAGER_VERSION,
192+
"This PSMoveServiceEx - Virtual Device Manager version is outdated (Current: v{0} / Newest: v{1}) and could still have issues that already have been fixed or missing new features.",
193+
"Udpate PSMoveServiceEx - Virtual Device Manager.",
194+
ENUM_LOG_ISSUE_TYPE.WARNING
195+
)
196+
197+
For Each mProcess In GetProcesses()
198+
Select Case (mProcess.sName.ToLowerInvariant)
199+
Case "PSMSVirtualDeviceManager".ToLowerInvariant
200+
Dim sCurrentVersion As String = mProcess.sFileVersion
201+
202+
Try
203+
Dim sNextVersion As String = ClassUpdate.ClassVdm.GetNextVersion(Nothing)
204+
205+
sNextVersion = Regex.Match(sNextVersion, "[0-9\.]+").Value
206+
sCurrentVersion = Regex.Match(sCurrentVersion, "[0-9\.]+").Value
207+
208+
If (New Version(sNextVersion) > New Version(sCurrentVersion)) Then
209+
Dim mNewIssue As New STRUC_LOG_ISSUE(mTemplate)
210+
mNewIssue.sDescription = String.Format(mTemplate.sDescription, New Version(sCurrentVersion).ToString, New Version(sNextVersion).ToString)
211+
212+
mIssues.Add(mNewIssue)
213+
End If
214+
Catch ex As Threading.ThreadAbortException
215+
Throw
216+
Catch ex As Exception
217+
' Ignore any connection issues
218+
End Try
219+
End Select
220+
Next
221+
222+
Return mIssues.ToArray
131223
End Function
132224

133225
Public Function GetProcesses() As STRUC_PROCESS_ITEM()

PSMSVirtualDeviceManager/StartPage/TroubleshootIssueTracker/ClassLogService.vb

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ Public Class ClassLogService
77
Public Shared ReadOnly SECTION_PSMOVESERVICEEX As String = "PSMoveServiceEx"
88

99
Public Shared ReadOnly LOG_ISSUE_EMPTY As String = "Log is unavailable"
10-
Public Shared ReadOnly LOG_ISSUE_BAD_SERVICE_VERSION As String = "Outdated PSMoveServiceEx version"
1110
Public Shared ReadOnly LOG_ISSUE_BAD_SERVICE_FPS As String = "PSMoveServiceEx framerate too low"
1211
Public Shared ReadOnly LOG_ISSUE_BAD_LEGACY_SERVICE As String = "Legacy PSMoveService configuration detected"
1312
Public Shared ReadOnly LOG_ISSUE_CONFIG_RESET As String = "Some configurations have been factory reset"
@@ -115,7 +114,6 @@ Public Class ClassLogService
115114
Public Function GetIssues() As STRUC_LOG_ISSUE() Implements ILogAction.GetIssues
116115
Dim mIssues As New List(Of STRUC_LOG_ISSUE)
117116
mIssues.AddRange(CheckEmpty())
118-
mIssues.AddRange(CheckVersion())
119117
mIssues.AddRange(CheckFps())
120118
mIssues.AddRange(CheckLegacy())
121119
mIssues.AddRange(CheckConfigReset())
@@ -159,60 +157,6 @@ Public Class ClassLogService
159157
Return mIssues.ToArray
160158
End Function
161159

162-
Public Function CheckVersion() As STRUC_LOG_ISSUE()
163-
Dim mIssues As New List(Of STRUC_LOG_ISSUE)
164-
165-
Dim sContent As String = GetSectionContent()
166-
If (sContent Is Nothing) Then
167-
Return mIssues.ToArray
168-
End If
169-
170-
Dim mTemplate As New STRUC_LOG_ISSUE(
171-
LOG_ISSUE_BAD_SERVICE_VERSION,
172-
"This PSMoveServiceEx version is outdated (Current: v{0} / Newest: v{1}) and could still have issues that already have been fixed or missing new features.",
173-
"Udpate PSMoveServiceEx.",
174-
ENUM_LOG_ISSUE_TYPE.WARNING
175-
)
176-
177-
Dim sLines As String() = sContent.Split(New String() {vbNewLine, vbLf}, 0)
178-
For i = 0 To sLines.Length - 1
179-
Dim sLine As String = sLines(i)
180-
181-
If (Not sLine.StartsWith("[")) Then
182-
Continue For
183-
End If
184-
185-
If (sLine.Contains("Starting PSMoveServiceEx")) Then
186-
Dim mMatch As Match = Regex.Match(sLine, "Starting PSMoveServiceEx v(?<Version>\d+\.\d+\.\d+\.\d+)", RegexOptions.IgnoreCase)
187-
188-
If (mMatch.Success AndAlso mMatch.Groups("Version").Success) Then
189-
Try
190-
Dim sCurrentVersion As String = mMatch.Groups("Version").Value
191-
Dim sNextVersion As String = ClassUpdate.ClassPsms.GetNextVersion(Nothing)
192-
193-
sNextVersion = Regex.Match(sNextVersion, "[0-9\.]+").Value
194-
sCurrentVersion = Regex.Match(sCurrentVersion, "[0-9\.]+").Value
195-
196-
If (New Version(sNextVersion) > New Version(sCurrentVersion)) Then
197-
Dim mNewIssue As New STRUC_LOG_ISSUE(mTemplate)
198-
mNewIssue.sDescription = String.Format(mTemplate.sDescription, New Version(sCurrentVersion).ToString, New Version(sNextVersion).ToString)
199-
200-
mIssues.Add(mNewIssue)
201-
End If
202-
Catch ex As Threading.ThreadAbortException
203-
Throw
204-
Catch ex As Exception
205-
' Ignore any connection issues
206-
End Try
207-
End If
208-
209-
Exit For
210-
End If
211-
Next
212-
213-
Return mIssues.ToArray
214-
End Function
215-
216160
Public Function CheckFps() As STRUC_LOG_ISSUE()
217161
Dim mIssues As New List(Of STRUC_LOG_ISSUE)
218162

0 commit comments

Comments
 (0)