diff --git a/app/DD_Clipboard_Searcher/App.config b/app/DD_Clipboard_Searcher/App.config index 8d12d79..15d02e6 100644 --- a/app/DD_Clipboard_Searcher/App.config +++ b/app/DD_Clipboard_Searcher/App.config @@ -90,8 +90,7 @@ - + @@ -106,6 +105,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/DD_Clipboard_Searcher/ClassAutomation.vb b/app/DD_Clipboard_Searcher/ClassAutomation.vb index c463523..30f0a93 100644 --- a/app/DD_Clipboard_Searcher/ClassAutomation.vb +++ b/app/DD_Clipboard_Searcher/ClassAutomation.vb @@ -33,7 +33,7 @@ Public Class ClassAutomation FrameworkId = oElement.Current.FrameworkId End If Catch ex As Exception - Logger.Error(ex) + modCurrent._Logger.Error(ex) End Try End Sub End Class diff --git a/app/DD_Clipboard_Searcher/ClassDataASorDB.vb b/app/DD_Clipboard_Searcher/ClassDataASorDB.vb index 0cc0014..67dc6a3 100644 --- a/app/DD_Clipboard_Searcher/ClassDataASorDB.vb +++ b/app/DD_Clipboard_Searcher/ClassDataASorDB.vb @@ -38,14 +38,14 @@ Public Class ClassDataASorDB DT_LOGIN_USER_MODULE = MyDB_DDECM.GetDatatable(oSql) If DT_LOGIN_USER_MODULE.Rows.Count = 0 Then - Logger.Info("DT_CHECKUSER_MODULE.Rows.Count = 0", True) + modCurrent._Logger.Info("DT_CHECKUSER_MODULE.Rows.Count = 0", True) 'ERROR_STATE = "NO USER" MsgBox("Sorry - Something went wrong in getting Your rights." & vbNewLine & "Please contact the system administrator!", MsgBoxStyle.Exclamation) Return False End If If DT_LOGIN_USER_MODULE.Rows.Count = 1 Then - Logger.Info(">> Login Username: " & USER_USERNAME, False) - Logger.Info(">> Login time: " & Now.ToString, False) + modCurrent._Logger.Info(">> Login Username: " & USER_USERNAME, False) + modCurrent._Logger.Info(">> Login time: " & Now.ToString, False) USER_ID = DT_LOGIN_USER_MODULE.Rows(0).Item("USER_ID") USER_SURNAME = IIf(IsDBNull(DT_LOGIN_USER_MODULE.Rows(0).Item("USER_SURNAME")), "", DT_LOGIN_USER_MODULE.Rows(0).Item("USER_SURNAME")) USER_PRENAME = IIf(IsDBNull(DT_LOGIN_USER_MODULE.Rows(0).Item("USER_PRENAME")), "", DT_LOGIN_USER_MODULE.Rows(0).Item("USER_PRENAME")) @@ -70,14 +70,14 @@ Public Class ClassDataASorDB Dim oSplitWorkMode As String() = WORKING_MODE.Split("#") Dim oMode As String For Each oMode In oSplitWorkMode - Logger.Debug($"oWorkingMode Parameter: {oMode}") + modCurrent._Logger.Debug($"oWorkingMode Parameter: {oMode}") If oMode = "NO_BASICCONF" Then - Logger.Info($"NO_BASICCONF will be set to false") + modCurrent._Logger.Info($"NO_BASICCONF will be set to false") BASIC_CONF_VISIBLE = False ElseIf oMode.StartsWith("NOMATCH_INFO") Then Try Dim oResult = oMode.Replace("NOMATCH_INFO=", "") - Logger.Info($"NOMATCH_INFO will be set to {oResult}") + modCurrent._Logger.Info($"NOMATCH_INFO will be set to {oResult}") NOMATCH_INFO = CBool(oResult) Catch ex As Exception NOMATCH_INFO = False @@ -85,7 +85,7 @@ Public Class ClassDataASorDB ElseIf oMode.StartsWith("HotkeySearchKey") Then Try Dim oResult = oMode.Replace("HotkeySearchKey=", "") - Logger.Info($"HotkeySearchKey via function will be set to [{oResult}]") + modCurrent._Logger.Info($"HotkeySearchKey via function will be set to [{oResult}]") HotkeySearchKey = oResult HotkeySearchKey_via_Server = True Catch ex As Exception @@ -93,12 +93,12 @@ Public Class ClassDataASorDB End Try Else - Logger.Info($"Wrong oMode [{oMode}]") + modCurrent._Logger.Info($"Wrong oMode [{oMode}]") End If Next Return True Else - Logger.Info(" - User '" & USER_USERNAME & "' not listed in Useradministration!", False) + modCurrent._Logger.Info(" - User '" & USER_USERNAME & "' not listed in Useradministration!", False) 'MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:") 'Me.Close() Dim msg = String.Format("You are not listed in the Useradministration." & vbNewLine & "Please contact the admin.") @@ -106,7 +106,7 @@ Public Class ClassDataASorDB Return False End If Catch ex As Exception - Logger.Error(ex) + modCurrent._Logger.Error(ex) Return False End Try @@ -131,7 +131,7 @@ Public Class ClassDataASorDB DT_CONNECTIONS = oDatatable Catch ex As Exception - Logger.Error(ex) + modCurrent._Logger.Error(ex) MsgBox("Unexpected Error in Refresh_Connections: " & ex.Message, MsgBoxStyle.Critical) End Try End Sub diff --git a/app/DD_Clipboard_Searcher/ClassDragDrop.vb b/app/DD_Clipboard_Searcher/ClassDragDrop.vb index c96a89b..4a318c5 100644 --- a/app/DD_Clipboard_Searcher/ClassDragDrop.vb +++ b/app/DD_Clipboard_Searcher/ClassDragDrop.vb @@ -66,13 +66,13 @@ Public Class ClassDragDrop DevExpress.Utils.DXMouseEventArgs.GetMouseArgs(e).Handled = True Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) End Try End If End If End If Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) MsgBox("Error in view_MouseMove: " & ex.Message, MsgBoxStyle.Critical) End Try End Sub diff --git a/app/DD_Clipboard_Searcher/ClassInit.vb b/app/DD_Clipboard_Searcher/ClassInit.vb index 75b3a39..6ce8943 100644 --- a/app/DD_Clipboard_Searcher/ClassInit.vb +++ b/app/DD_Clipboard_Searcher/ClassInit.vb @@ -1,15 +1,16 @@ Imports System.ComponentModel -Imports DigitalData.Modules.License -Imports DigitalData.Modules.Logging -Imports DigitalData.Modules.Language.Utils +Imports System.Globalization +Imports System.Threading +Imports DigitalData.Modules.Base Imports DigitalData.Modules.Config Imports DigitalData.Modules.Database Imports DigitalData.Modules.EDMI.API -Imports DigitalData.Modules.EDMI.API.EDMIServiceReference -Imports System.Globalization -Imports System.Threading Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback -Imports DigitalData.Modules.Base +Imports DigitalData.Modules.EDMI.API.EDMIServiceReference +Imports DigitalData.Modules.Language.Utils +Imports DigitalData.Modules.License +Imports DigitalData.Modules.Logging +Imports NLog Public Class ClassInit Public _lizenzManager As LicenseManagerLegacy @@ -21,9 +22,9 @@ Public Class ClassInit End Class Public Sub InitLogger() - LogConfig = New LogConfig(LogConfig.PathType.AppData, Nothing, Nothing, Application.CompanyName, Application.ProductName) - Logger = LogConfig.GetLogger() - _DataASorDB = New ClassDataASorDB(LogConfig) + _LogConfig = New LogConfig(LogConfig.PathType.AppData, Nothing, Nothing, Application.CompanyName, Application.ProductName) + _Logger = _LogConfig.GetLogger() + _DataASorDB = New ClassDataASorDB(_LogConfig) End Sub Public Function InitDatabase() @@ -31,7 +32,7 @@ Public Class ClassInit Dim Database_ECM As MSSQLServer = Nothing Dim Database_IDB As MSSQLServer = Nothing If MyConnectionString <> String.Empty Then - Database_ECM = New MSSQLServer(LogConfig, MyConnectionString) + Database_ECM = New MSSQLServer(_LogConfig, MyConnectionString) Else MsgBox("No Databaseconnection configured. (First Start or Appdata not accessible)" & vbNewLine & "Basic-Config will be loaded.", MsgBoxStyle.Information) ERROR_INIT = "NO DB-CONNECTION" @@ -39,7 +40,7 @@ Public Class ClassInit InitBasics() End If If Database_ECM.DBInitialized = True Then - DatabaseFallback = New DatabaseWithFallback(LogConfig, _Client, Database_ECM, Database_IDB) + DatabaseFallback = New DatabaseWithFallback(_LogConfig, _Client, Database_ECM, Database_IDB) Return True Else ERROR_INIT = "FAILED DBCONNECTION" @@ -57,7 +58,7 @@ Public Class ClassInit End If Try - MyDB_DDECM = New MSSQLServer(LogConfig, MyConnectionString) + MyDB_DDECM = New MSSQLServer(_LogConfig, MyConnectionString) If MyDB_DDECM.DBInitialized = True Then Return True Else @@ -65,14 +66,14 @@ Public Class ClassInit End If Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try End Function Public Function InitAppDatabase() As Boolean Try - DatabaseAppServ = New MSSQLServer(LogConfig, MyConStringAppserv) + DatabaseAppServ = New MSSQLServer(_LogConfig, MyConStringAppserv) If DatabaseAppServ.DBInitialized = True Then Return True Else @@ -80,7 +81,7 @@ Public Class ClassInit End If Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try End Function @@ -96,12 +97,12 @@ Public Class ClassInit If oConfigPrefix.Length > 0 Then oUserAppDataPath = IO.Path.Combine(Application.UserAppDataPath, oConfigPrefix) - Dim oConfigUtils As New ConfigUtils(LogConfig) + Dim oConfigUtils As New ConfigUtils(_LogConfig) If oConfigUtils.TestMigrationNeeded(oUserAppDataPath) Then - LogConfig.Debug = True + _LogConfig.Debug = True oConfigUtils.MigrateConfig(oLegacyAppDataPath, oUserAppDataPath) - LogConfig.Debug = False + _LogConfig.Debug = False End If End If @@ -111,13 +112,13 @@ Public Class ClassInit oCommonAppDataPath = oStartupPath End If - CONFIG = New ConfigManager(Of ClassConfig)(LogConfig, oUserAppDataPath, oCommonAppDataPath, oStartupPath) + CONFIG = New ConfigManager(Of ClassConfig)(_LogConfig, oUserAppDataPath, oCommonAppDataPath, oStartupPath) With CONFIG.Config MyConnectionString = MSSQLServer.DecryptConnectionString(.ConnectionString) LogErrorsOnly = .LogErrorsOnly HotkeySearchKey = .HotkeySearchKey - LogConfig.Debug = Not .LogErrorsOnly + _LogConfig.Debug = Not .LogErrorsOnly End With If HotkeySearchKey_via_Server = False Then HotkeyFunctionKey = CONFIG.Config.HotkeyFunctionKey @@ -125,7 +126,7 @@ Public Class ClassInit If CONFIG.Config.ConnectionStringAppServer <> String.Empty Then MyConStringAppserv = MSSQLServer.DecryptConnectionString(CONFIG.Config.ConnectionStringAppServer) If InitAppDatabase() Then - Logger.Debug("ConnectionStringAppServer will be used") + _Logger.Debug("ConnectionStringAppServer will be used") End If End If @@ -143,16 +144,16 @@ Public Class ClassInit If oSplit.Length = 2 Then oAppServerPort = oSplit(1) End If - _Client = New Client(LogConfig, oAppServerAddress, oAppServerPort) + _Client = New Client(_LogConfig, oAppServerAddress, oAppServerPort) If Not IsNothing(_Client) Then If _Client.Connect() Then APPSERVER_ACTIVE = True Else - Logger.Warn($"###!!!APPServer [{CONFIG.Config.AppServerConfig.ToString}] could not be initialized ") + _Logger.Warn($"###!!!APPServer [{CONFIG.Config.AppServerConfig.ToString}] could not be initialized ") End If End If Catch ex As Exception - Logger.Warn($"Could not initialize the AppServer: {ex.Message}") + _Logger.Warn($"Could not initialize the AppServer: {ex.Message}") End Try End If @@ -165,14 +166,14 @@ Public Class ClassInit DT_CHECKUSER_MODULE = MyDB_DDECM.GetDatatable(oSql) If DT_CHECKUSER_MODULE.Rows.Count = 0 Then - Logger.Info("DT_CHECKUSER_MODULE.Rows.Count = 0", True) + _Logger.Info("DT_CHECKUSER_MODULE.Rows.Count = 0", True) 'ERROR_STATE = "NO USER" MsgBox("Sorry - Something went wrong in getting Your rights." & vbNewLine & "Please contact the system administrator!", MsgBoxStyle.Exclamation) Return False End If If DT_CHECKUSER_MODULE.Rows.Count = 1 Then - Logger.Info("Login Username: " & USER_ID, False) - Logger.Info("Login time: " & Now.ToShortDateString, False) + _Logger.Info("Login Username: " & USER_ID) + _Logger.Info("Login time: " & Now.ToShortDateString, False) USER_ID = DT_CHECKUSER_MODULE.Rows(0).Item("USER_ID") USER_SURNAME = ObjectEx.NotNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_SURNAME"), "") @@ -189,10 +190,10 @@ Public Class ClassInit USER_IS_ADMIN = ObjectEx.NotNull(DT_CHECKUSER_MODULE.Rows(0).Item("IS_ADMIN"), False) ADDITIONAL_TITLE = ObjectEx.NotNull(DT_CHECKUSER_MODULE.Rows(0).Item("ADDITIONAL_TITLE"), "") - Logger.Debug("User Id: [{0}]", USER_ID) - Logger.Debug("User Email: [{0}]", USER_EMAIL) - Logger.Debug("User Language: [{0}]", USER_LANGUAGE) - Logger.Debug("User Dateformat: [{0}]", USER_DATE_FORMAT) + _Logger.Debug("User Id: [{0}]", USER_ID) + _Logger.Debug("User Email: [{0}]", USER_EMAIL) + _Logger.Debug("User Language: [{0}]", USER_LANGUAGE) + _Logger.Debug("User Dateformat: [{0}]", USER_DATE_FORMAT) If ADDITIONAL_TITLE = String.Empty Then ADDITIONAL_TITLE = My.Application.Info.ProductName @@ -207,54 +208,152 @@ Public Class ClassInit Dim oSplitWorkMode As String() = WORKING_MODE.Split("#") Dim oMode As String For Each oMode In oSplitWorkMode - Logger.Debug($"oWorkingMode Parameter [{oMode}]") - If oMode = "NO_BASICCONF" Then - BASIC_CONF_VISIBLE = False - ElseIf oMode.StartsWith("NOMATCH_INFO") Then - Try - Dim oResult = oMode.Replace("NOMATCH_INFO=", "") - Logger.Info($"NOMATCH_INFO: {oResult}") - NOMATCH_INFO = CBool(oResult) - Catch ex As Exception - NOMATCH_INFO = False - End Try - ElseIf oMode.StartsWith("HotkeySearchKey") Then - Try - Dim oResult = oMode.Replace("HotkeySearchKey=", "") - Logger.Info($"HotkeySearchKey: {oResult}") - HotkeySearchKey = oResult - HotkeySearchKey_via_Server = True - Catch ex As Exception - HotkeySearchKey = "d" - End Try - ElseIf oMode.StartsWith("NotifyMode") Then - Try - Dim oResult = oMode.Replace("NotifyMode=", "") - Logger.Info($"NotifyMode: {oResult}") - NOTIFY_MODE = oResult - - Catch ex As Exception - - End Try - Else - Logger.Info($"Wrong oMode: {oMode}") - End If + ProcessWorkingModeParameter(oMode) Next Return True Else - Logger.Info(" - UserId '" & USER_ID & "' not listed in Useradministration!", False) + _Logger.Info(" - UserId '" & USER_ID & "' not listed in Useradministration!") 'MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:") 'Me.Close() Dim msg = String.Format("You are not listed in the Useradministration." & vbNewLine & "Please contact the admin.") MsgBox(msg, MsgBoxStyle.Exclamation) Return False End If + oSql = "select CAT_TITLE,CAT_STRING from TBDD_CATALOG" + Dim DT_CATALOG As DataTable + DT_CATALOG = MyDB_DDECM.GetDatatable(oSql) + For Each oROW As DataRow In DT_CATALOG.Rows + If oROW.Item("CAT_TITLE") = "WM_PRAEFIX" Then + WMSUFFIX = oROW.Item("CAT_STRING") + _Logger.Info($"WMSUFFIX from Catalog: {WMSUFFIX}") + End If + Next Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try End Function + Private Shared Sub ProcessWorkingModeParameter(oMode As String) + _Logger.Debug($"Processing Working Mode Parameter: {oMode}") + + Select Case True + Case oMode = "DEBUG_LOG" + _LogConfig.Debug = True + _Logger.Info("DEBUG_LOG = True") + Case oMode = "IDBWITHWMFS" + SetBooleanParameter(IDB_USES_WMFILESTORE, True, "IDB_USES_WMFILESTORE", LogLevel.Info) + Case oMode = "NO_BASICCONF" + SetBooleanParameter(BASIC_CONF_VISIBLE, False, "BASIC_CONF_VISIBLE", LogLevel.Info) + Case oMode = "SYS_LOCKED_MAINTENANCE" + SetBooleanParameter(SYS_LOCKED_MAINTENANCE, True, "SYS_LOCKED_MAINTENANCE") + Case oMode.StartsWith("IDB_CONID!") + ProcessIDBConnection(oMode) + Case oMode.StartsWith("COPYWM2TEMP") + ProcessBooleanParameter(oMode, "COPYWM2TEMP", COPY_WMFILE_2TEMP, "COPY_WMFILE_2TEMP") + Case oMode.StartsWith("MAP_SHARE_DRIVE") + MAP_SHARE_DRIVE = ExtractParameterValue(oMode, "MAP_SHARE_DRIVE") + _Logger.Info($"MAP_SHARE_DRIVE = {MAP_SHARE_DRIVE}") + Case oMode.StartsWith("MAP_BLACKLIST") + MAP_BLACKLIST = ExtractParameterValue(oMode, "MAP_BLACKLIST") + _Logger.Info($"MAP_BLACKLIST = {MAP_BLACKLIST}") + ' Fehlende Alt-Fälle ergänzt: + Case oMode.StartsWith("NOMATCH_INFO") + Try + Dim oResult = oMode.Replace("NOMATCH_INFO=", "") + _Logger.Info($"NOMATCH_INFO: {oResult}") + NOMATCH_INFO = CBool(oResult) + Catch ex As Exception + NOMATCH_INFO = False + End Try + + Case oMode.StartsWith("HotkeySearchKey") + Try + Dim oResult = oMode.Replace("HotkeySearchKey=", "") + _Logger.Info($"HotkeySearchKey: {oResult}") + HotkeySearchKey = oResult + HotkeySearchKey_via_Server = True + Catch ex As Exception + HotkeySearchKey = "d" + End Try + + Case oMode.StartsWith("NotifyMode") + Try + Dim oResult = oMode.Replace("NotifyMode=", "") + _Logger.Info($"NotifyMode: {oResult}") + NOTIFY_MODE = oResult + Catch ex As Exception + End Try + + Case Else + _Logger.Info($"Unknown Working Mode Parameter: {oMode}") + End Select + End Sub + Private Shared Function ExtractParameterValue(parameterString As String, prefix As String) As String + Return parameterString.Replace($"{prefix}=", "") + End Function + + Private Shared Sub SetBooleanParameter(ByRef target As Boolean, value As Boolean, paramName As String, Optional logLevel As LogLevel = LogLevel.Debug) + target = value + LogParameterValue(paramName, value.ToString(), logLevel) + End Sub + + Private Shared Sub ProcessBooleanParameter(oMode As String, prefix As String, ByRef target As Boolean, paramName As String) + Dim value = ExtractParameterValue(oMode, prefix) + Try + target = CBool(value) + _Logger.Debug($"{paramName} = {target}") + Catch ex As Exception + target = False + _Logger.Warn($"Failed to parse {paramName}: {ex.Message}") + End Try + End Sub + + Private Shared Sub ProcessIntegerParameter(oMode As String, prefix As String, ByRef target As Integer, paramName As String) + Dim value = ExtractParameterValue(oMode, prefix) + Try + target = CInt(value) + _Logger.Debug($"{paramName} = {target}") + Catch ex As Exception + _Logger.Warn($"Failed to parse {paramName}: {ex.Message}. Setting to 0") + target = 0 + End Try + End Sub + + Private Shared Sub ProcessIDBConnection(oMode As String) + Dim Database_IDB As MSSQLServer = Nothing + Dim CON_ID = oMode.Replace("PM.IDB_CONID!", "") + Dim oConString = DatabaseFallback.GetConnectionString(CON_ID) + CONNECTION_STRING_IDB = oConString + Database_IDB = New MSSQLServer(_LogConfig, CONNECTION_STRING_IDB) + + If Database_IDB.DBInitialized = True Then + IDB_ACTIVE = True + _Logger.Info($"IDB is active - IDB-Connection [{CON_ID}]") + DatabaseFallback.InitializeIDB(Database_IDB) + Else + IDB_ACTIVE = False + _Logger.Warn($"Failed to initialize IDB with Connection [{CON_ID}]") + End If + If CONNECTION_STRING_IDB <> "" AndAlso Database_IDB.DBInitialized = True Then + IDB_ACTIVE = True + _Logger.Debug("IDB already initialized and active") + Return + End If + End Sub + Private Shared Sub LogParameterValue(paramName As String, value As String, logLevel As LogLevel) + Select Case logLevel + Case LogLevel.Info + _Logger.Info($"{paramName} = {value}") + Case Else + _Logger.Debug($"{paramName} = {value}") + End Select + End Sub + + Private Enum LogLevel + Debug + Info + End Enum Public Function InitUserLogin(Optional _User As String = "") As Boolean Try If _User = "" Then @@ -283,20 +382,20 @@ Public Class ClassInit ElseIf DT_CLIENT_USER.Rows.Count = 1 Then CLIENT_SELECTED = DT_CLIENT_USER.Rows(0).Item("CLIENT_ID") Else - Logger.Info("User '" & USER_ID & "' not related to a client", True) + _Logger.Info("User '" & USER_ID & "' not related to a client") ERROR_INIT = "NO CLIENT" 'ERROR_STATE = "NO CLIENT" Return False End If Else - Logger.Info("User '" & USER_ID & "' not related to a client", True) + _Logger.Info("User '" & USER_ID & "' not related to a client") ERROR_INIT = "NO CLIENT" 'ERROR_STATE = "NO CLIENT" Return False End If Catch ex As Exception - Logger.Info("Unexpected error in checking CLIENT: " & ex.Message) + _Logger.Info("Unexpected error in checking CLIENT: " & ex.Message) CLIENT_SELECTED = 1 End Try @@ -305,7 +404,7 @@ Public Class ClassInit If USER_IN_MODULE = False Then If USER_IS_ADMIN = False Then - Logger.Info("User: " & USER_ID & " not related to module!", False) + _Logger.Info("User: " & USER_ID & " not related to module!") Dim msg = String.Format("Sie sind nicht für die Nutzung dieses Moduls freigeschaltet." & vbNewLine & "Bitte setzen Sie sich mit dem Systemadministrator in Verbindung!") If USER_LANGUAGE <> LANGUAGE_GERMAN Then @@ -334,7 +433,7 @@ Public Class ClassInit 'frmLoginUserSelect.ShowDialog() ESC_Hidden = False If USER_USERNAME <> "" And GHOST_USERID <> 0 Then - Logger.Info("GHOST USER ACTIVE") + _Logger.Info("GHOST USER ACTIVE") InitUserLogin(USER_USERNAME) End If @@ -348,13 +447,13 @@ Public Class ClassInit and VERSION = '{My.Settings.GDPICTURE_VERSION}' AND ACTIVE = 1" GDPICTURE_LICENSE = MyDB_DDECM.GetScalarValue(oSQL) If GDPICTURE_LICENSE = String.Empty Then - Logger.Info($"ATTENTION: GDPICTURE VERSION is nothing. [{oSQL}]") + _Logger.Info($"ATTENTION: GDPICTURE VERSION is nothing. [{oSQL}]") End If oSQL = "SELECT LANG_CODE FROM TBDD_GUI_LANGUAGE WHERE ACTIVE = 1 ORDER BY LANG_CODE" BASEDATA_DT_LANGUAGE = MyDB_DDECM.GetDatatable(oSQL) - Logger.Debug(" >> Count Users logged in: " & USERCOUNT_LOGGED_IN.ToString, False) + _Logger.Debug(" >> Count Users logged in: " & USERCOUNT_LOGGED_IN.ToString, False) If LICENSE_COUNT < USERCOUNT_LOGGED_IN And LICENSE_EXPIRED = False Then Dim msg = String.Format("Die Anzahl der aktuell angemeldeten User (" & USERCOUNT_LOGGED_IN.ToString & ") überschreitet die Anzahl der aktuellen Lizenzen!" & vbNewLine & "Anzahl der Lizenzen: " & LICENSE_COUNT.ToString & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!") @@ -363,12 +462,12 @@ Public Class ClassInit "Number of licenses: " & LICENSE_COUNT.ToString & vbNewLine & "Please contact Your admin!") End If MsgBox(msg, MsgBoxStyle.Exclamation) - Logger.Info(" >> The number of logged Users (" & USERCOUNT_LOGGED_IN.ToString & ") exceeds the number of licenses (" & LICENSE_COUNT & ") ", False) + _Logger.Info(" >> The number of logged Users (" & USERCOUNT_LOGGED_IN.ToString & ") exceeds the number of licenses (" & LICENSE_COUNT & ") ", False) If USER_IS_ADMIN = False Then 'Anmeldung wieder herausnehmen oSQL = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND MODULE= 'Clipboard-Watcher'" MyDB_DDECM.ExecuteNonQuery(oSQL) - Logger.Info(" - logged out the user", False) + _Logger.Info(" - logged out the user", False) Return False End If End If @@ -376,7 +475,7 @@ Public Class ClassInit Catch ex As Exception - Logger.Info("Unexpected Error in InitUserLogin: " & ex.Message, True) + _Logger.Info("Unexpected Error in InitUserLogin: " & ex.Message, True) MsgBox("Unexpected Error in InitUserLogin: " & ex.Message, MsgBoxStyle.Critical) Return False End Try @@ -403,7 +502,7 @@ Public Class ClassInit DT_CONNECTIONS = oDatatable Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) MsgBox("Unexpected Error in Refresh_Connections: " & ex.Message, MsgBoxStyle.Critical) End Try End Sub @@ -420,37 +519,37 @@ Public Class ClassInit DT_USER_PROFILES = MyDB_DDECM.GetDatatable(ProfileSQL) If DT_USER_PROFILES Is Nothing Or DT_USER_PROFILES.Rows.Count = 0 Then - Logger.Warn("Keine Profile für den User auswertbar. Konfiuration oder SQL prüfen: " + ProfileSQL) + _Logger.Warn("Keine Profile für den User auswertbar. Konfiuration oder SQL prüfen: " + ProfileSQL) Return S.Es_wurden_noch_keine_Profile_für_den_aktuellen_Benutzer_konfiguriert_ End If Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) MsgBox("Unexpected Error in Refresh_Profile_Links: " & ex.Message, MsgBoxStyle.Critical) - Logger.Warn("SQL so far: " + ProfileSQL) + _Logger.Warn("SQL so far: " + ProfileSQL) Return S.Fehler_bei_der_Aktualisierung_ End Try Try DTPROFILE_REL_PROCESS = MyDB_DDECM.GetDatatable(oProcessSQL) Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) MsgBox("Unexpected Error in Refresh_ProcessLinks: " & ex.Message, MsgBoxStyle.Critical) - Logger.Warn("SQL so far: " + oProcessSQL) + _Logger.Warn("SQL so far: " + oProcessSQL) Return S.Fehler_bei_der_Aktualisierung_ End Try Try DTPROFILE_REL_WINDOW = MyDB_DDECM.GetDatatable(oWindowSQL) Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) MsgBox("Unexpected Error in Refresh_windowLinks: " & ex.Message, MsgBoxStyle.Critical) - Logger.Warn("SQL so far: " + oWindowSQL) + _Logger.Warn("SQL so far: " + oWindowSQL) Return S.Fehler_bei_der_Aktualisierung_ End Try Try DTPROFILE_REL_CONTROL = MyDB_DDECM.GetDatatable(oControlSQL) Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) MsgBox("Unexpected Error in Refresh_ControlLinks: " & ex.Message, MsgBoxStyle.Critical) - Logger.Warn("SQL so far: " + oControlSQL) + _Logger.Warn("SQL so far: " + oControlSQL) Return S.Fehler_bei_der_Aktualisierung_ End Try diff --git a/app/DD_Clipboard_Searcher/ClassLayout.vb b/app/DD_Clipboard_Searcher/ClassLayout.vb index cc1aba1..a26945c 100644 --- a/app/DD_Clipboard_Searcher/ClassLayout.vb +++ b/app/DD_Clipboard_Searcher/ClassLayout.vb @@ -47,7 +47,7 @@ Public Class ClassWindowLocation Next Catch notFoundEx As System.IO.FileNotFoundException - Logger.Info("Window Position & Size added for Form " & form.Name) + _Logger.Info("Window Position & Size added for Form " & form.Name) Catch ex As Exception MsgBox("Error while loading Window Position!" & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try @@ -82,7 +82,7 @@ Public Class ClassWindowLocation layout.Save(settings) Catch notFoundEx As System.IO.FileNotFoundException - Logger.Info("Window Position & Size added for Form " & form.Name) + _Logger.Info("Window Position & Size added for Form " & form.Name) Catch ex As Exception MsgBox("Error while saving Window Position!" & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try diff --git a/app/DD_Clipboard_Searcher/ClassLicense.vb b/app/DD_Clipboard_Searcher/ClassLicense.vb index ed97ef4..a14dc41 100644 --- a/app/DD_Clipboard_Searcher/ClassLicense.vb +++ b/app/DD_Clipboard_Searcher/ClassLicense.vb @@ -19,7 +19,7 @@ Public Class ClassLicense End Sub Public Shared Sub Refresh_Licence(CLIENT_ID As Integer) Try - Dim _lizenzManager = New LicenseManagerLegacy(LogConfig, "#DigitalData35452!#", "") + Dim _lizenzManager = New LicenseManagerLegacy(_LogConfig, "#DigitalData35452!#", "") Get_License(CLIENT_ID) If lic_string = "" Then @@ -42,12 +42,12 @@ Public Class ClassLicense Dim oLicDate As Date = Convert.ToDateTime(split(1), cultureInfo) LICENSE_DATE = oLicDate Catch ex As Exception - Logger.Warn($"Error in Convert Licdate1 [{split(1)}] {ex.Message}") + _Logger.Warn($"Error in Convert Licdate1 [{split(1)}] {ex.Message}") End Try Catch ex As Exception LICENSE_DATE = split(1) - Logger.Warn($"Error in Convert Licdate1 [{split(1)}] {ex.Message}") + _Logger.Warn($"Error in Convert Licdate1 [{split(1)}] {ex.Message}") End Try End If @@ -64,7 +64,7 @@ Public Class ClassLicense Catch ex As Exception - Logger.Warn($"Error in Convert Licdate2 [{split(1)}] {ex.Message}") + _Logger.Warn($"Error in Convert Licdate2 [{split(1)}] {ex.Message}") End Try Catch ex As Exception diff --git a/app/DD_Clipboard_Searcher/ClassWindowAPI.vb b/app/DD_Clipboard_Searcher/ClassWindowAPI.vb index e4796cf..a238d66 100644 --- a/app/DD_Clipboard_Searcher/ClassWindowAPI.vb +++ b/app/DD_Clipboard_Searcher/ClassWindowAPI.vb @@ -218,7 +218,7 @@ Public Class ClassWindowAPI Return oControl Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Finally AttachThreadInput(oThreadId, oMyThreadId, False) End Try @@ -226,7 +226,7 @@ Public Class ClassWindowAPI Return Nothing Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return Nothing End Try diff --git a/app/DD_Clipboard_Searcher/ClassWindowsAPI.vb b/app/DD_Clipboard_Searcher/ClassWindowsAPI.vb index 9ec087f..e967a40 100644 --- a/app/DD_Clipboard_Searcher/ClassWindowsAPI.vb +++ b/app/DD_Clipboard_Searcher/ClassWindowsAPI.vb @@ -39,7 +39,7 @@ Public Class ClassWindowsAPI Public Sub ShowFileProperties(FilePath As String) If FilePath = String.Empty OrElse Not IO.File.Exists(FilePath) Then - Logger.Warn("Could not show file properties. FilePath '{0}' is invalid or does not exist.", FilePath) + modCurrent._Logger.Warn("Could not show file properties. FilePath '{0}' is invalid or does not exist.", FilePath) Exit Sub End If @@ -53,8 +53,8 @@ Public Class ClassWindowsAPI If Not ShellExecuteEx(oInfo) Then Dim ex As New ComponentModel.Win32Exception(Marshal.GetLastWin32Error()) - Logger.Warn("Could not show file properties. Reason: {0}", ex.Message) - Logger.Error(ex) + modCurrent._Logger.Warn("Could not show file properties. Reason: {0}", ex.Message) + modCurrent._Logger.Error(ex) End If End Sub diff --git a/app/DD_Clipboard_Searcher/My Project/AssemblyInfo.vb b/app/DD_Clipboard_Searcher/My Project/AssemblyInfo.vb index e6145a7..4f6bce0 100644 --- a/app/DD_Clipboard_Searcher/My Project/AssemblyInfo.vb +++ b/app/DD_Clipboard_Searcher/My Project/AssemblyInfo.vb @@ -12,7 +12,7 @@ Imports System.Runtime.InteropServices - + @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + diff --git a/app/DD_Clipboard_Searcher/clsPatterns.vb b/app/DD_Clipboard_Searcher/clsPatterns.vb index 33c0d7e..76d6bed 100644 --- a/app/DD_Clipboard_Searcher/clsPatterns.vb +++ b/app/DD_Clipboard_Searcher/clsPatterns.vb @@ -60,8 +60,8 @@ Public Class clsPatterns Return result Catch ex As Exception - Logger.Error(ex) - Logger.Info("Error in ReplaceAllValues:" & ex.Message) + _Logger.Error(ex) + _Logger.Info("Error in ReplaceAllValues:" & ex.Message) End Try End Function @@ -96,8 +96,8 @@ Public Class clsPatterns Return result Catch ex As Exception - LOGGER.Error(ex) - LOGGER.Info("Error in ReplaceInternalValues:" & ex.Message) + _Logger.Error(ex) + _Logger.Info("Error in ReplaceInternalValues:" & ex.Message) End Try End Function @@ -131,8 +131,8 @@ Public Class clsPatterns Return result Catch ex As Exception - LOGGER.Error(ex) - LOGGER.Info("Error in ReplaceUserValues:" & ex.Message) + _Logger.Error(ex) + _Logger.Info("Error in ReplaceUserValues:" & ex.Message) End Try End Function @@ -159,8 +159,8 @@ Public Class clsPatterns Return result Catch ex As Exception - LOGGER.Error(ex) - LOGGER.Info("Error in ReplaceControlValues:" & ex.Message) + _Logger.Error(ex) + _Logger.Info("Error in ReplaceControlValues:" & ex.Message) End Try End Function diff --git a/app/DD_Clipboard_Searcher/clsWMDocGrid.vb b/app/DD_Clipboard_Searcher/clsWMDocGrid.vb index e8b62ca..207cc87 100644 --- a/app/DD_Clipboard_Searcher/clsWMDocGrid.vb +++ b/app/DD_Clipboard_Searcher/clsWMDocGrid.vb @@ -42,7 +42,7 @@ Public Class clsWMDocGrid DTDocuments = oNewDataTable Return True Catch ex As Exception - LOGGER.Error(ex) + _Logger.Error(ex) DTDocuments = Nothing Return False End Try @@ -53,7 +53,7 @@ Public Class clsWMDocGrid '_Helper = New ClassHelper SELECTED_DOC_ID = 0 If Init_Table() = True Then - LOGGER.Debug("gridView.SelectedRowsCount: " & ActiveDocGrid.SelectedRowsCount.ToString) + _Logger.Debug("gridView.SelectedRowsCount: " & ActiveDocGrid.SelectedRowsCount.ToString) If ActiveDocGrid.SelectedRowsCount >= 1 Then DTDocuments.Clear() For Each row In ActiveDocGrid.GetSelectedRows diff --git a/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb b/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb index fd579b5..f7b1452 100644 --- a/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb +++ b/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb @@ -1,5 +1,4 @@ -Imports DD_LIB_Standards -Imports DevExpress.XtraEditors +Imports DevExpress.XtraEditors Imports DevExpress.XtraEditors.Controls Imports DevExpress.XtraGrid Imports DevExpress.XtraGrid.Views.Grid @@ -40,7 +39,7 @@ Public Class ctrlApplicationAssignment SelectedProfileId = ProfileId Return True Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try End Function @@ -49,7 +48,7 @@ Public Class ctrlApplicationAssignment TBCW_PROFILE_PROCESSTableAdapter.Fill(MyDataset.TBCW_PROFILE_PROCESS, ProfileId) Return True Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try End Function @@ -85,7 +84,7 @@ Public Class ctrlApplicationAssignment Process_Load(SelectedProfileId) Return True Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try Else @@ -104,7 +103,7 @@ Public Class ctrlApplicationAssignment Return False Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try End Function @@ -115,7 +114,7 @@ Public Class ctrlApplicationAssignment Return True Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try End Function @@ -155,7 +154,7 @@ Public Class ctrlApplicationAssignment Window_Load() Return True Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try Else @@ -174,7 +173,7 @@ Public Class ctrlApplicationAssignment Return False Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try End Function @@ -191,7 +190,7 @@ Public Class ctrlApplicationAssignment Return True Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try End Function @@ -203,13 +202,13 @@ Public Class ctrlApplicationAssignment If oRow IsNot Nothing Then Dim oRegex = oRow.Item("REGEX") - Dim oForm As New frmRegexEditor(oRegex) + Dim oForm As New DigitalData.Controls.RegexEditor.frmRegexEditor(oRegex) If oForm.ShowDialog() = DialogResult.OK Then oRow.Item("REGEX") = oForm.RegexString End If End If Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try End Function @@ -220,7 +219,7 @@ Public Class ctrlApplicationAssignment Return True Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try End Function @@ -254,7 +253,7 @@ Public Class ctrlApplicationAssignment Control_Load() Return True Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try Else @@ -344,7 +343,7 @@ Public Class ctrlApplicationAssignment Control_Load() Return True Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try Else @@ -363,7 +362,7 @@ Public Class ctrlApplicationAssignment Return True Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try End Function @@ -379,7 +378,7 @@ Public Class ctrlApplicationAssignment Return False Catch ex As Exception - Logger.Error(ex) + _Logger.Error(ex) Return False End Try End Function diff --git a/app/DD_Clipboard_Searcher/easyFLOW.vbproj b/app/DD_Clipboard_Searcher/easyFLOW.vbproj index a46e0fb..df7bd44 100644 --- a/app/DD_Clipboard_Searcher/easyFLOW.vbproj +++ b/app/DD_Clipboard_Searcher/easyFLOW.vbproj @@ -72,6 +72,9 @@ + + ..\packages\BouncyCastle.Cryptography.2.5.0\lib\net461\BouncyCastle.Cryptography.dll + @@ -99,7 +102,7 @@ ..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll - P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Digital Data\Controls\DigitalData.Controls.RegexEditor.dll + ..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.RegexEditor\bin\Debug\DigitalData.Controls.RegexEditor.dll False @@ -126,9 +129,6 @@ ..\..\..\..\2_DLL Projekte\DDModules\Filesystem\bin\Debug\DigitalData.Modules.Filesystem.dll - - ..\..\..\..\2_DLL Projekte\DDModules\Language\bin\Debug\DigitalData.Modules.Language.dll - ..\..\..\..\2_DLL Projekte\DDModules\License\bin\Debug\DigitalData.Modules.License.dll @@ -144,17 +144,111 @@ ..\..\..\..\2_DLL Projekte\DDModules\ZooFlow\bin\Debug\DigitalData.Modules.ZooFlow.dll - - ..\packages\GdPicture.14.2.90\lib\net462\GdPicture.NET.14.dll + + ..\packages\DocumentFormat.OpenXml.3.2.0\lib\net46\DocumentFormat.OpenXml.dll + + + ..\packages\DocumentFormat.OpenXml.Framework.3.2.0\lib\net46\DocumentFormat.OpenXml.Framework.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.DWG.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Common.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Document.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Email.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.HTML.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenDocument.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.PDF.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.RTF.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.SVG.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.wia.gateway.dll + True + + + ..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + + ..\packages\Newtonsoft.Json.Bson.1.0.2\lib\net45\Newtonsoft.Json.Bson.dll + ..\packages\NLog.5.0.2\lib\net46\NLog.dll - - P:\Visual Studio Projekte\Bibliotheken\Oracle.ManagedDataAccess.dll + + ..\packages\OpenMcdf.2.4.1\lib\net40\OpenMcdf.dll + + + ..\packages\protobuf-net.3.2.46\lib\net462\protobuf-net.dll + + + ..\packages\protobuf-net.Core.3.2.46\lib\net462\protobuf-net.Core.dll + + + ..\packages\RtfPipe.2.0.7677.4303\lib\net45\RtfPipe.dll + + ..\packages\System.Buffers.4.6.0\lib\net462\System.Buffers.dll + + + ..\packages\System.CodeDom.8.0.0\lib\net462\System.CodeDom.dll + + + ..\packages\System.Collections.Immutable.8.0.0\lib\net462\System.Collections.Immutable.dll + @@ -162,11 +256,44 @@ + + ..\packages\System.IO.Packaging.8.0.1\lib\net462\System.IO.Packaging.dll + + + + ..\packages\System.Memory.4.6.0\lib\net462\System.Memory.dll + + + + ..\packages\Microsoft.AspNet.WebApi.Client.6.0.0\lib\net45\System.Net.Http.Formatting.dll + + + + ..\packages\System.Numerics.Vectors.4.6.0\lib\net462\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Security.Cryptography.Pkcs.8.0.1\lib\net462\System.Security.Cryptography.Pkcs.dll + + + ..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll + + + ..\packages\System.Text.Json.8.0.5\lib\net462\System.Text.Json.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll + @@ -174,6 +301,7 @@ + @@ -540,12 +668,12 @@ - + Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}". - + - - + + + + + + + @@ -40,7 +45,7 @@ - + @@ -81,7 +86,7 @@ - + @@ -155,10 +160,6 @@ - - - - @@ -178,11 +179,10 @@ - + - @@ -218,7 +218,6 @@ -