MS WIndream Init

This commit is contained in:
SchreiberM 2020-04-27 14:17:05 +02:00
parent 59afa60f7b
commit b2096b5fe7
10 changed files with 142 additions and 143 deletions

View File

@ -74,7 +74,7 @@ Public Class ClassInit
Else
If IDB_ACTIVE = False Then
Try
WINDREAM = New Windream(LOGCONFIG, False, "", "", True, "", "", "", "")
WINDREAM = New Windream(LOGCONFIG, False, WMDrive, "\\windream\objects", True, "", "", "", "")
If Not IsNothing(WINDREAM) Then
If WINDREAM.SessionLoggedin = True Then
LOGGER.Debug("windream initialisiert")
@ -99,11 +99,15 @@ Public Class ClassInit
If DT.Rows.Count = 1 Then
GI_withWindream = DT.Rows(0).Item("BIT1")
'vWLaufwerk = DT.Rows(0).Item("STRING1")
End If
oSql = "select * from TBDD_BASECONFIG"
DT = ClassDatabase.Return_Datatable(oSql)
If DT.Rows.Count = 1 Then
WMDrive = DT.Rows(0).Item("WM_DRIVE")
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox("Error in Load_BasicConfig" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
@ -229,7 +233,7 @@ Public Class ClassInit
Exit Sub
End If
If DT_CHECKUSER_MODULE.Rows.Count = 1 Then
If DT_CHECKUSER_MODULE.Rows(0).Item("USER_ID") = 0 Then
If DT_CHECKUSER_MODULE.Rows(0).Item("USER_ID") = 0 And IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_SURNAME")) Then
LOGGER.Info("User '" & Environment.UserName & "' not configured in Useradministration!")
START_INCOMPLETE = True
Throw New Exception("You are not configured in the Useradministration." & vbNewLine & "Please contact the system administrator!")

View File

@ -176,7 +176,7 @@ Public Class ClassPatterns
Continue For
End If
LOGGER.Debug("Getting control metadata from object: [{0}]", oControl?.Tag?.ToString())
LOGGER.Debug("Getting control metadata from Control: [{0}]", oControl.Name)
If oControl.Tag Is Nothing Then
LOGGER.Warn("No Metadata object found for control [{0}]. Skipping.", oControl.Name)
@ -257,7 +257,7 @@ Public Class ClassPatterns
oTryCounter += 1
End While
LOGGER.Debug("sql after ReplaceControlValues: " & input)
LOGGER.Debug("input after ReplaceControlValues [{input}]")
Return result
Catch ex As Exception
LOGGER.Error(ex)

View File

@ -173,9 +173,9 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>P:\Visual Studio Projekte\Bibliotheken\DLLLicenseManager.dll</HintPath>
</Reference>
<Reference Include="Independentsoft.Msg.2.0.570.21482, Version=2.0.570.21482, Culture=neutral, PublicKeyToken=76be97fe952f1ec7, processorArchitecture=MSIL">
<Reference Include="Independentsoft.Msg, Version=2.0.570.21482, Culture=neutral, PublicKeyToken=76be97fe952f1ec7, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>P:\Visual Studio Projekte\Bibliotheken\MSG .NET\Bin\Independentsoft.Msg.2.0.570.21482.dll</HintPath>
<HintPath>P:\Visual Studio Projekte\Bibliotheken\MSG .NET\Bin\22_11_19\Independentsoft.Msg.dll</HintPath>
</Reference>
<Reference Include="Interop.WINDREAMLib">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WINDREAMLib.dll</HintPath>

View File

@ -9,7 +9,7 @@ Module ModuleRuntime
Public MyConnectionString As String = ""
Public LogErrorsOnly As Boolean = True
Public GI_withWindream As Boolean = False
'Public vWLaufwerk As String = "W"
Public WMDrive As String = "W"
'Public myPreviewActive As Boolean = True
Public FW_started As Boolean = False
Public IDB_ACTIVE As Boolean = False

View File

@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.0.0.23")>
<Assembly: AssemblyVersion("2.0.0.24")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
<Assembly: NeutralResourcesLanguageAttribute("")>

View File

@ -3522,7 +3522,7 @@ Die erhaltenen Werte können in Indizes geschrieben oder zur Benennung der Datei
<value>1</value>
</data>
<data name="btnAddWindowsVariable.Location" type="System.Drawing.Point, System.Drawing">
<value>678, 87</value>
<value>677, 85</value>
</data>
<data name="btnAddWindowsVariable.Size" type="System.Drawing.Size, System.Drawing">
<value>31, 22</value>
@ -3648,7 +3648,7 @@ Die erhaltenen Werte können in Indizes geschrieben oder zur Benennung der Datei
<value>False</value>
</data>
<data name="INDEXNAME_AutoIndexCMB.Location" type="System.Drawing.Point, System.Drawing">
<value>259, 89</value>
<value>259, 86</value>
</data>
<data name="INDEXNAME_AutoIndexCMB.Size" type="System.Drawing.Size, System.Drawing">
<value>198, 21</value>
@ -3768,7 +3768,7 @@ Die erhaltenen Werte können in Indizes geschrieben oder zur Benennung der Datei
<value>Tahoma, 8.25pt</value>
</data>
<data name="GUIDAUTO_INDEXTextbox.Location" type="System.Drawing.Point, System.Drawing">
<value>163, 87</value>
<value>163, 86</value>
</data>
<data name="GUIDAUTO_INDEXTextbox.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 21</value>
@ -3822,7 +3822,7 @@ Die erhaltenen Werte können in Indizes geschrieben oder zur Benennung der Datei
<value>False</value>
</data>
<data name="VALUETextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>463, 89</value>
<value>463, 86</value>
</data>
<data name="VALUETextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>209, 21</value>
@ -4152,7 +4152,7 @@ Die erhaltenen Werte können in Indizes geschrieben oder zur Benennung der Datei
<value>False</value>
</data>
<data name="INDEXNAME_AutoIndexTXT.Location" type="System.Drawing.Point, System.Drawing">
<value>259, 89</value>
<value>259, 86</value>
</data>
<data name="INDEXNAME_AutoIndexTXT.Size" type="System.Drawing.Size, System.Drawing">
<value>198, 21</value>

View File

@ -49,7 +49,6 @@ Public Class frmAdministration
oDragDropManager.AddGridView(viewAssignedUsers)
oDragDropManager.AddGridView(viewAvailableUsers)
RibbonPageUserGroups.Visible = False
RibbonPageEmail.Visible = False
Dim oDatatable As New DataTable()
@ -87,7 +86,6 @@ Public Class frmAdministration
Try
pnlObjekttype_Config.Enabled = False
Dim oDokumentTyp As WINDREAMLib.WMObject
' Combobox leeren
Me.OBJEKTTYPComboBox.Items.Clear()
ListBoxControl1.Items.Clear()
@ -98,8 +96,8 @@ Public Class frmAdministration
For Each otype As String In SourceObjectTypes
' und in die Combobox eintragen
Me.OBJEKTTYPComboBox.Items.Add(oDokumentTyp.aName)
ListBoxControl1.Items.Add(oDokumentTyp.aName)
Me.OBJEKTTYPComboBox.Items.Add(otype)
ListBoxControl1.Items.Add(otype)
Next
@ -317,6 +315,7 @@ Public Class frmAdministration
If Me.OBJEKTTYPComboBox.SelectedIndex <> -1 Then
Me.WD_INDEXComboBox.Items.Clear()
Me.WD_INDEXComboBox.Items.Add("")
Me.INDEXNAME_AutoIndexCMB.Items.Clear()
If SourceAttributes Is Nothing Then
SourceAttributes = WINDREAM.GetIndiciesByObjecttype(OBJEKTTYPComboBox.Text)
End If
@ -326,6 +325,7 @@ Public Class frmAdministration
If SourceAttributes IsNot Nothing Then
For Each index As String In SourceAttributes
Me.WD_INDEXComboBox.Items.Add(index)
INDEXNAME_AutoIndexCMB.Items.Add(index)
Next
End If
End If
@ -333,23 +333,6 @@ Public Class frmAdministration
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in load_WDIndices: ")
End Try
End Sub
Sub load_WDIndices2AutoIndizes()
Try
If Me.OBJEKTTYPComboBox.SelectedIndex <> -1 Then
Me.INDEXNAME_AutoIndexCMB.Items.Clear()
If SourceAttributes Is Nothing Then
SourceAttributes = WINDREAM.GetIndiciesByObjecttype(OBJEKTTYPComboBox.Text)
End If
If SourceAttributes IsNot Nothing Then
For Each index As String In SourceAttributes
Me.INDEXNAME_AutoIndexCMB.Items.Add(index)
Next
End If
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in load_WDIndices2AutoIndizes: ")
End Try
End Sub
Private Sub frmAdministration_Shown(sender As Object, e As EventArgs) Handles Me.Shown
If DOKART_GUIDTextBox.Text <> "" Then
Load_Dokart()
@ -407,7 +390,6 @@ Public Class frmAdministration
If WINDREAM_DIRECTCheckBox.Checked = True Then
INDEXNAME_AutoIndexTXT.Visible = False
INDEXNAME_AutoIndexCMB.Visible = True
load_WDIndices2AutoIndizes()
Else
INDEXNAME_AutoIndexTXT.Visible = True
INDEXNAME_AutoIndexCMB.Visible = False
@ -491,13 +473,6 @@ Public Class frmAdministration
RibbonControl1.SelectedPage = RibbonPageStart
End If
If oSelectedPageName = XtraTabPageUsersGroups.Name Then
RibbonPageUserGroups.Visible = True
RibbonControl1.SelectedPage = RibbonPageUserGroups
Else
RibbonPageUserGroups.Visible = False
End If
If oSelectedPageName = XtraTabPageEmail.Name Then
RibbonPageEmail.Visible = True
@ -555,7 +530,6 @@ Public Class frmAdministration
End Sub
Private Sub ObjektTypenListBoxEintragen()
Try
Dim oDokumentTyp As WINDREAMLib.WMObject
' Combobox leeren
ListBoxControl1.Items.Clear()
' alle Objekttypen durchlaufen
@ -564,7 +538,7 @@ Public Class frmAdministration
End If
For Each oDokumentTyp In SourceObjectTypes
' und in die Combobox eintragen
ListBoxControl1.Items.Add(oDokumentTyp.aName)
ListBoxControl1.Items.Add(oDokumentTyp)
Next
Catch ex As Exception
MsgBox("Error in ObjektTypenListBoxEintragen:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)

View File

@ -3,7 +3,6 @@
Private Control_Sequence As Integer
Private Sub ObjektTypenEintragen()
Try
Dim oDokumentTyp As WINDREAMLib.WMObject
' Combobox leeren
Me.cmbObjekttyp.Items.Clear()
' alle Objekttypen durchlaufen

View File

@ -146,7 +146,7 @@ Public Class frmIndex
For Each DR In DT.Rows
If DR.Item("INDEXNAME").ToString.ToLower = indexname.ToLower Then
If DR.Item("Indexiert") = True Then
LOGGER.Info(" >>Manueller Index: " & indexname)
LOGGER.Info("## Manueller Index: " & indexname)
Select Case RequestFor
Case "FILE"
If DR.Item("Indexwert_File").ToString <> String.Empty Then
@ -155,11 +155,11 @@ Public Class frmIndex
Return DR.Item("Indexwert_File")
Else
If DR.Item("Indexwert").ToString <> String.Empty Then
LOGGER.Info(" >>Zurückgegebener manueller Indexwert: " & DR.Item("Indexwert"))
LOGGER.Info("Zurückgegebener manueller Indexwert: " & DR.Item("Indexwert"))
Return DR.Item("Indexwert")
Else
If opt = False Then
LOGGER.Info(" >> Achtung, der Indexwert des manuellen Indexes '" & indexname & "' ist String.empty!")
LOGGER.Info("Achtung, der Indexwert des manuellen Indexes '" & indexname & "' ist String.empty!")
ShowNotice("Indexiert = True - Der Index: " & DR.Item("INDEXNAME") & " wurde nicht ordnungsgemäss indexiert! - Automatischer Index konnte nicht gesetzt werden!")
Return Nothing
Else
@ -175,7 +175,7 @@ Public Class frmIndex
Else
'Dim optional_index As Boolean = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & CURRENT_DOKART_ID & " AND UPPER(NAME) = UPPER('" & indexname & "')", MyConnectionString, True)
If opt = False Then
LOGGER.Info(" >> Achtung, der Indexwert des manuellen Indexes '" & indexname & "' ist String.empty!")
LOGGER.Info("Achtung, der Indexwert des manuellen Indexes '" & indexname & "' ist String.empty!")
ShowNotice("Indexiert = True - Der Index: " & DR.Item("INDEXNAME") & " wurde nicht ordnungsgemäss indexiert! - Automatischer Index konnte nicht gesetzt werden!")
Return Nothing
Else
@ -276,7 +276,7 @@ Public Class frmIndex
Function CheckWrite_IndexeMan(dokartid As Integer)
'#### Zuerst manuelle Werte indexieren ####
Try
LOGGER.Info(" >> In CheckWrite_IndexeMan")
LOGGER.Info("In CheckWrite_IndexeMan")
Dim result As Boolean = False
For Each oControl As Control In Me.pnlIndex.Controls
' MsgBox(ctrl.Name)
@ -433,6 +433,7 @@ Public Class frmIndex
Function Name_Generieren()
Try
LOGGER.Debug("#### Name_Generieren ####")
Dim sql As String = "select VERSION_DELIMITER, FILE_DELIMITER FROM TBDD_MODULES WHERE GUID = 1"
Dim DT1 As DataTable = ClassDatabase.Return_Datatable(sql)
For Each row As DataRow In DT1.Rows
@ -465,25 +466,25 @@ Public Class frmIndex
Dim oMatchelements As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(oNamenkonvention)
'####
If oMatchelements.Count = 0 Then
LOGGER.Info(" >> No RegularExpression Fileds on Nameconvention!")
LOGGER.Debug("No RegularExpression Fileds on Nameconvention!")
End If
' alle Vorkommen innerhalbd er Namenkonvention durchlaufen
For Each oElement As System.Text.RegularExpressions.Match In oMatchelements
Select Case oElement.Value.Substring(2, 1).ToUpper
'Manueller Indexwert
Case "M"
LOGGER.Info(" >>Manueller Index wird geprüft...")
LOGGER.Debug("NameGenerieren: Manueller Index wird geprüft...")
Dim Indexname = oElement.Value.Substring(3, oElement.Value.Length - 4)
Dim optional_index As Boolean = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & CURRENT_DOKART_ID & " AND UPPER(NAME) = UPPER('" & Indexname & "')", MyConnectionString, True)
Dim value As String = GetManIndex_Value(Indexname, "FILE", optional_index)
If value <> String.Empty Then
Dim firstVectorValue = value.Split(ClassConstants.VECTORSEPARATOR).First()
Dim oManValue As String = GetManIndex_Value(Indexname, "FILE", optional_index)
If oManValue <> String.Empty Then
Dim firstVectorValue = oManValue.Split(ClassConstants.VECTORSEPARATOR).First()
oNamenkonvention = oNamenkonvention.Replace(oElement.Value, firstVectorValue)
NewFileString = oNamenkonvention
sql_history_INSERT_INTO = sql_history_INSERT_INTO & ", INDEX" & AnzahlIndexe.ToString
AnzahlIndexe += 1
sql_history_Index_Values = sql_history_Index_Values & ", '" & value.Replace("'", "''") & "'"
sql_history_Index_Values = sql_history_Index_Values & ", '" & oManValue.Replace("'", "''") & "'"
Else
If optional_index = True Then
@ -502,16 +503,16 @@ Public Class frmIndex
' AnzahlIndexe += 1
' sql_history_Index_Values = sql_history_Index_Values & ", '" & System.IO.Path.GetFileNameWithoutExtension(CURRENT_WORKFILE).Replace("'", "''") & "'"
'Else
oNamenkonvention = oNamenkonvention.Replace("_" & oElement.Value, value)
oNamenkonvention = oNamenkonvention.Replace("-" & oElement.Value, value)
oNamenkonvention = oNamenkonvention.Replace("_" & oElement.Value, oManValue)
oNamenkonvention = oNamenkonvention.Replace("-" & oElement.Value, oManValue)
NewFileString = oNamenkonvention
sql_history_INSERT_INTO = sql_history_INSERT_INTO & ", INDEX" & AnzahlIndexe.ToString
AnzahlIndexe += 1
sql_history_Index_Values = sql_history_Index_Values & ", '" & value.Replace("'", "''") & "'"
sql_history_Index_Values = sql_history_Index_Values & ", '" & oManValue.Replace("'", "''") & "'"
' End If
Else
LOGGER.Info(" >> Der Indexvalue für Index '" & Indexname & "' ist String.Empty")
LOGGER.Debug("Der Indexvalue für Index '" & Indexname & "' ist String.Empty")
err = True
End If
@ -594,7 +595,7 @@ Public Class frmIndex
Loop
End If
Catch ex As Exception
LOGGER.Info(" - Unexpected error in Umbenennnen der Datei - Fehler: " & vbNewLine & ex.Message)
LOGGER.Warn(" - Unexpected error in NameGenerieren - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Umbenennnen der Datei:")
err = True
@ -642,6 +643,8 @@ Public Class frmIndex
folder_Created = True
End If
'False oder True zurückgeben
LOGGER.Debug("#### ENDE Name_Generieren ####")
LOGGER.Debug("")
If err = False Then
Return True
Else
@ -662,11 +665,11 @@ Public Class frmIndex
'Manuelle Indexe Indexieren
Dim DTMan As DataTable = MyDataset.VWDDINDEX_MAN
If DTMan.Rows.Count > 0 Then
Dim Count As Integer = 0
For Each row As DataRow In DTMan.Rows
Dim idxvalue = row.Item("Indexwert")
Dim indexname = row.Item("WD_INDEX").ToString
LOGGER.Debug($"Write_Indizes - Index [{indexname}]...")
Dim optional_Index = CBool(row.Item("OPTIONAL"))
Dim indexiert = CBool(row.Item("Indexiert"))
If indexiert And idxvalue.ToString <> "" And idxvalue <> "EMPTY_OI" Then
@ -693,18 +696,26 @@ Public Class frmIndex
End If
End If
LOGGER.Info(" >> Manueller Indexvalue: " & idxvalue.ToString)
LOGGER.Debug($"Manueller Indexvalue [{idxvalue.ToString}]...NOW THE INDEXING...")
Count += 1
' den Typ des Zielindexes auslesen
Dim indexType As Integer = WINDREAM.GetIndexType(indexname)
If indexType < WINDREAM.WMObjectVariableValueTypeVector Then
Dim oIndexType As Integer = WINDREAM.GetIndexType(indexname)
LOGGER.Debug($"oIndexType [{oIndexType.ToString}]...")
If oIndexType < WINDREAM.WMObjectVariableValueTypeVector Then
indexierung_erfolgreich = WINDREAM.SetFileIndex(CURRENT_NEWFILENAME, indexname, idxvalue, CURR_DOKART_OBJECTTYPE)
Else
Dim oSplitArray = Split(idxvalue, ClassConstants.VECTORSEPARATOR)
Dim oListofString As List(Of String)
oListofString = (From o In oSplitArray Select 0.ToString.ToList)
Dim oListofString As New List(Of String)
If oSplitArray.Count = 0 Then
oListofString.Add(idxvalue)
Else
For Each oStr In oSplitArray
oListofString.Add(oStr)
Next
End If
indexierung_erfolgreich = WINDREAM.SetFileIndex(CURRENT_NEWFILENAME, indexname, oListofString, CURR_DOKART_OBJECTTYPE)
End If
@ -715,13 +726,13 @@ Public Class frmIndex
Exit For
End If
Else
If LogErrorsOnly = False Then
LOGGER.Info(" >> No Indexing: indexname: " & indexname)
LOGGER.Info(" >> No Indexing: is optional? " & optional_Index.ToString)
End If
LOGGER.Debug("No Indexing: indexname: " & indexname)
LOGGER.Debug("No Indexing: is optional? " & optional_Index.ToString)
End If
Else
LOGGER.Info(" >> Indexvalue is empty or field is not indexed - Indexname: " & indexname)
LOGGER.Debug("Indexvalue is empty or field is not indexed - Indexname: " & indexname)
LOGGER.Info("Indexvalue is empty or field is not indexed - Indexname: " & indexname)
End If
Next
@ -736,8 +747,8 @@ Public Class frmIndex
Dim indexname = row.Item("INDEXNAME").ToString
If indexiert = True And Indexvalue <> "" Then
If Indexvalue <> "EMPTY_OI" Then
LOGGER.Info(" >> Auto Indexname: " & indexname.ToString)
LOGGER.Info(" >> Indexvalue: " & Indexvalue.ToString)
LOGGER.Info("Auto Indexname: " & indexname.ToString)
LOGGER.Info("Indexvalue: " & Indexvalue.ToString)
Count += 1
' den Typ des Zielindexes auslesen
@ -747,8 +758,14 @@ Public Class frmIndex
indexierung_erfolgreich = WINDREAM.SetFileIndex(CURRENT_NEWFILENAME, indexname, Indexvalue, CURR_DOKART_OBJECTTYPE)
Else
Dim oSplitArray = Split(Indexvalue, ClassConstants.VECTORSEPARATOR)
Dim oListofString As List(Of String)
oListofString = (From o In oSplitArray Select 0.ToString.ToList)
Dim oListofString As New List(Of String)
If oSplitArray.Count = 0 Then
oListofString.Add(Indexvalue)
Else
For Each oStr In oSplitArray
oListofString.Add(oStr)
Next
End If
indexierung_erfolgreich = WINDREAM.SetFileIndex(CURRENT_NEWFILENAME, indexname, oListofString, CURR_DOKART_OBJECTTYPE)
End If
@ -785,7 +802,7 @@ Public Class frmIndex
End Function
Private Function WriteIndex2File(indexname As String, indexvalue As String)
Try
LOGGER.Info(" >> Indexvalue: " & indexvalue.ToString)
LOGGER.Info("Indexvalue: " & indexvalue.ToString)
Return WINDREAM.SetFileIndex(CURRENT_NEWFILENAME, indexname, indexvalue, CURR_DOKART_OBJECTTYPE)
Catch ex As Exception
MsgBox("Error in WriteIndex2File:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
@ -803,11 +820,11 @@ Public Class frmIndex
Dim msgInternetAccountName = msg.InternetAccountName
If LogErrorsOnly = False Then
LOGGER.Info("")
LOGGER.Info(" >> msgInternetAccountName: " & msgInternetAccountName)
LOGGER.Info(" >> SenderName: " & msg.SenderName)
LOGGER.Info(" >> SenderEmailAddress: " & msg.SenderEmailAddress)
LOGGER.Info(" >> ReceivedByName: " & msg.ReceivedByName)
LOGGER.Info(" >> ReceivedByEmailAddress: " & msg.ReceivedByEmailAddress)
LOGGER.Info("msgInternetAccountName: " & msgInternetAccountName)
LOGGER.Info("SenderName: " & msg.SenderName)
LOGGER.Info("SenderEmailAddress: " & msg.SenderEmailAddress)
LOGGER.Info("ReceivedByName: " & msg.ReceivedByName)
LOGGER.Info("ReceivedByEmailAddress: " & msg.ReceivedByEmailAddress)
LOGGER.Info("")
End If
_step = "2"
@ -844,7 +861,7 @@ Public Class frmIndex
Next
Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '" & CURR_DOKART_OBJECTTYPE & "'")
If IsNothing(DT) Then
LOGGER.Info(" >> SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '" & CURR_DOKART_OBJECTTYPE & "' RESULTED in NOTHING")
LOGGER.Info("SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '" & CURR_DOKART_OBJECTTYPE & "' RESULTED in NOTHING")
Return False
End If
If DT.Rows.Count = 1 Then
@ -904,7 +921,7 @@ Public Class frmIndex
_step = "4.2"
If IsNothing(msgDisplayTo) Then
_step = "4.3"
LOGGER.Info(" >> DisplayTo in email is nothing - default will be set")
LOGGER.Info("DisplayTo in email is nothing - default will be set")
emailTo = "NO RECIPIENT"
Else
_step = "4.4"
@ -912,7 +929,7 @@ Public Class frmIndex
End If
If IsNothing(msgInternetAccountName) Then
_step = "4.5"
LOGGER.Info(" >> InternetAccountName in email is nothing - default will be set")
LOGGER.Info("InternetAccountName in email is nothing - default will be set")
emailFrom = ""
Else
_step = "4.6"
@ -920,7 +937,7 @@ Public Class frmIndex
End If
Else
_step = "5"
LOGGER.Info(" >> emailTo and From Extraction via messageheader.")
LOGGER.Info("emailTo and From Extraction via messageheader.")
emailFrom = ClassEmailHeaderExtractor.extractFromHeader(headers, fromPattern) 'FromRegexList)
emailTo = ClassEmailHeaderExtractor.extractFromHeader(headers, toPattern) ' extractToAddress(headers, ToRegexList)
@ -928,10 +945,10 @@ Public Class frmIndex
'Handler für leere emailTo-Adresse
If IsNothing(emailTo) Then
_step = "5.1"
LOGGER.Info(" >> emailTo couldn't be extracted from messageheader...")
LOGGER.Info("emailTo couldn't be extracted from messageheader...")
If (headers.Contains("exc") Or headers.Contains("exchange")) Then
_step = "5.2"
LOGGER.Info(" >> ...try with LDAP-option")
LOGGER.Info("...try with LDAP-option")
Dim _email = GetUserEmailfromLDAP(msgDisplayTo)
_step = "5.3"
If _email <> "" Then
@ -953,7 +970,7 @@ Public Class frmIndex
emailTo = CURR_MISSING_MANUAL_VALUE
Else
_step = "5.4.3"
LOGGER.Info(" >> no exchange patterns found in headers!")
LOGGER.Info("no exchange patterns found in headers!")
MsgBox("Could't get 'emailto' from messageHeader and exhange-Patterns weren't found." & vbNewLine & "Please check the dropped email and Configuration of Email-Indexing!", MsgBoxStyle.Exclamation)
Return False
End If
@ -969,7 +986,7 @@ Public Class frmIndex
emailFrom = emailFrom.Replace(">", "")
Else
_step = "6.1.x"
LOGGER.Info(" >> emailFrom is Nothing?!")
LOGGER.Info("emailFrom is Nothing?!")
End If
If Not IsNothing(emailTo) Then
@ -993,20 +1010,20 @@ Public Class frmIndex
Next
Else
_step = "6.3"
LOGGER.Info(" >> emailTo is Nothing?!")
LOGGER.Info("emailTo is Nothing?!")
End If
LOGGER.Info(" >> Headers-Content: ")
LOGGER.Info("Headers-Content: ")
LOGGER.Info(headers.ToString)
End If
'Handler für leere emailFrom-Adresse
If IsNothing(emailFrom) Then
_step = "7"
LOGGER.Info(" >> emailFrom couldn't be extracted from messageheader...")
LOGGER.Info("emailFrom couldn't be extracted from messageheader...")
If Not IsNothing(msg.SenderEmailAddress) Then
If msg.SenderEmailAddress <> String.Empty Then
_step = "7.1"
LOGGER.Info(" >> emailFrom via msg.SenderEmailAddress will be used instead!")
LOGGER.Info("emailFrom via msg.SenderEmailAddress will be used instead!")
emailFrom = msg.SenderEmailAddress.ToString.Replace("'", "")
End If
End If
@ -1026,8 +1043,8 @@ Public Class frmIndex
End If
End If
LOGGER.Info(" >> emailFrom: " & emailFrom)
LOGGER.Info(" >> emailTo: " & emailTo)
LOGGER.Info("emailFrom: " & emailFrom)
LOGGER.Info("emailTo: " & emailTo)
'FROM
If Not IsNothing(emailFrom) Then
indexierung_erfolgreich = WriteIndex2File(DT.Rows(0).Item("IDX_EMAIL_FROM").ToString, emailFrom)
@ -1036,7 +1053,7 @@ Public Class frmIndex
Return False
End If
Else
LOGGER.Info(" >> emailFrom is still Nothing?!")
LOGGER.Info("emailFrom is still Nothing?!")
_step = "7.4"
End If
'TO
@ -1047,14 +1064,14 @@ Public Class frmIndex
Return False
End If
Else
LOGGER.Info(" >> emailTo is still Nothing?!")
LOGGER.Info("emailTo is still Nothing?!")
_step = "7.5"
End If
' Dim subj As String = ClassFormFunctions.CleanInput(msg.Subject)
Dim subj As String = msg.Subject
If IsNothing(subj) Or subj = "" Then
LOGGER.Info(" >> msg subject is empty...DEFAULT will be set")
LOGGER.Info("msg subject is empty...DEFAULT will be set")
subj = "No subject"
MsgBox("Attention: Email was send without a subject - Default value 'No subject' will be used!", MsgBoxStyle.Exclamation)
Else
@ -1064,16 +1081,16 @@ Public Class frmIndex
End If
End If
LOGGER.Info(" >> Now all email-items will be indexed!")
LOGGER.Info("Now all email-items will be indexed!")
LOGGER.Info(" >> subj: " & subj)
LOGGER.Info("subj: " & subj)
indexierung_erfolgreich = WriteIndex2File(DT.Rows(0).Item("IDX_EMAIL_SUBJECT").ToString, subj)
CURRENT_MESSAGESUBJECT = subj
If indexierung_erfolgreich = False Then
MsgBox("Error in SetEmailIndices [Subject] - See log", MsgBoxStyle.Critical)
Return False
End If
LOGGER.Info(" >> MessageDeliveryTime: " & msg.MessageDeliveryTime)
LOGGER.Info("MessageDeliveryTime: " & msg.MessageDeliveryTime)
indexierung_erfolgreich = WriteIndex2File(DT.Rows(0).Item("IDX_EMAIL_DATE_IN").ToString, msg.MessageDeliveryTime)
CURRENT_MESSAGEDATE = msg.MessageDeliveryTime
If indexierung_erfolgreich = False Then
@ -1177,6 +1194,11 @@ Public Class frmIndex
Private Function SINGLEFILE_2_WINDREAM(_Objekttyp As String)
Try
CURR_DOKART_OBJECTTYPE = _Objekttyp
Dim oWMCheckPath = WINDREAM.VersionWMFilename(CURRENT_NEWFILENAME, System.IO.Path.GetExtension(CURRENT_NEWFILENAME))
If CURRENT_NEWFILENAME.ToUpper <> oWMCheckPath.ToString.ToUpper Then
LOGGER.Info($"Target [{CURRENT_NEWFILENAME}] already existed!! - NewWMFilename [{oWMCheckPath}]")
CURRENT_NEWFILENAME = oWMCheckPath
End If
Dim streamresult = WINDREAM.NewFileStream(CURRENT_WORKFILE, CURRENT_NEWFILENAME)
If CONFIG.Config.DeleteOriginalFile = True Then
@ -1382,14 +1404,14 @@ Public Class frmIndex
ElseIf DropType = "|OUTLOOK_MESSAGE|" Or DropType = "|FW_MSGONLY|" Then
Select Case DropType
Case "|FW_MSGONLY|"
LOGGER.Info(" >> .msg-file from folderwatch")
LOGGER.Info(".msg-file from folderwatch")
If USER_LANGUAGE <> "de-DE" Then
Me.Text = "Indexing of msg-File (without Attachments) - from Folderwatch"
Else
Me.Text = "Indexierung der msg-Datei (ohne Anhang) - aus Folderwatch"
End If
Case "|OUTLOOK_MESSAGE|"
LOGGER.Info(" >> .msg-file through dragdrop")
LOGGER.Info(".msg-file through dragdrop")
If USER_LANGUAGE <> "de-DE" Then
Me.Text = "Indexing of msg-File (without Attachments)"
Else
@ -1513,7 +1535,7 @@ Public Class frmIndex
Sub Refresh_Dokart()
Try
Dim sql = String.Format("select * from VWGI_DOCTYPE where UPPER(USERNAME) = UPPER('{0}') ORDER BY SEQUENCE", Environment.UserName)
LOGGER.Info(" >> SQL DoctypeList: " & sql)
LOGGER.Info("SQL DoctypeList: " & sql)
DT_DOKART = ClassDatabase.Return_Datatable(sql)
cmbDokumentart.DataSource = DT_DOKART
cmbDokumentart.ValueMember = DT_DOKART.Columns("DOCTYPE_ID").ColumnName
@ -1798,14 +1820,14 @@ Public Class frmIndex
oSqlResult = oSqlResult.Replace(oMatch.Value, oManualIndexResult)
End If
Next
If oSqlResult <> String.Empty Then
LOGGER.Info(" oSqlResult afrer first Replace: " & oSqlResult)
End If
'TODO: Replace Windream Patterns?
oSqlResult = ClassPatterns.ReplaceControlValues(oSqlResult, pnlIndex)
oSqlResult = ClassPatterns.ReplaceInternalValues(oSqlResult)
If oSqlResult <> String.Empty Then
LOGGER.Debug("oSqlResult after Replace [" & oSqlResult & "]")
End If
' Ergebnis: Es wurden alle einfachen Platzhalter ersetzt, jetzt haben wir einen SQL Befehl,
' der nur noch vektorfelder-platzhalter enthält
@ -1871,7 +1893,7 @@ Public Class frmIndex
' For Each DR_AUTOINDEX As DataRow In DT_INDEXAUTOM.Rows
' Dim optionalIndex As Boolean
' Dim indexname As String = DR_AUTOINDEX.Item("INDEXNAME")
' LOGGER.Info(" >> Build Automatischer Index '" & indexname & "'")
' LOGGER.Info("Build Automatischer Index '" & indexname & "'")
' If DR_AUTOINDEX.Item("SQL_RESULT").ToString <> String.Empty And CBool(DR_AUTOINDEX.Item("SQL_ACTIVE")) = True Then
' ' Regulären Ausdruck zum Auslesen der windream-Indexe definieren
' Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
@ -1885,12 +1907,12 @@ Public Class frmIndex
' For Each element As System.Text.RegularExpressions.Match In elemente
' ' MsgBox(element.Value.ToUpper)
' LOGGER.Info(" >> Element: '" & element.Value & "'")
' LOGGER.Info("Element: '" & element.Value & "'")
' '' wenn es sich nicht um dedizeirte Werte handelt (es sollen ja nur die Indexe ausgelesen werden)
' 'If Not element.Value.ToUpper = "[%SPALTE]" And Not element.Value.ToUpper = "[%VIEW]" Then
' 'die Zeichen [% und ] entfernen (liefert den wirklichen windream-Index)
' Dim elementOhneSonderzeichen As String = element.Value.Substring(2, element.Value.Length - 3)
' LOGGER.Info(" >> elementOhneSonderzeichen: '" & elementOhneSonderzeichen & "'")
' LOGGER.Info("elementOhneSonderzeichen: '" & elementOhneSonderzeichen & "'")
' optionalIndex = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & CURRENT_DOKART_ID & " AND UPPER(NAME) = UPPER('" & elementOhneSonderzeichen & "')", MyConnectionString, True)
' If elementOhneSonderzeichen.StartsWith("$") Then 'windowsParameter
' Dim result = ""
@ -1926,7 +1948,7 @@ Public Class frmIndex
' MsgBox("Unexpected error in Replacement WindowsFilePatterns: " & vbNewLine & ex.Message & vbNewLine & vbNewLine & "Routine will continue - Please check logfile", MsgBoxStyle.Exclamation, )
' End Try
' If result <> "" Then
' LOGGER.Info(" >> file-related parameter found: '" & elementOhneSonderzeichen & "' - Result: '" & result & "'")
' LOGGER.Info("file-related parameter found: '" & elementOhneSonderzeichen & "' - Result: '" & result & "'")
' SqlString = SqlString.Replace(element.Value, result)
' Else
' LOGGER.Info(">> Attention: file-related parameter '" & elementOhneSonderzeichen & "' returned an empty string!")
@ -1943,11 +1965,11 @@ Public Class frmIndex
' End If
' Next
' LOGGER.Info(" >> Replaced and complete SQL-result: " & SqlString)
' LOGGER.Info(" >> Ausführen SQL....")
' LOGGER.Info("Replaced and complete SQL-result: " & SqlString)
' LOGGER.Info("Ausführen SQL....")
' Dim automatischerValue As String = ""
' automatischerValue = GetAutomaticIndexSQLValue(SqlString, DR_AUTOINDEX.Item("CONNECTION_ID"), DR_AUTOINDEX.Item("SQL_PROVIDER"))
' LOGGER.Info(" >> Ergebnis SQL: '" & automatischerValue & "'")
' LOGGER.Info("Ergebnis SQL: '" & automatischerValue & "'")
' If automatischerValue <> String.Empty Then
' DR_AUTOINDEX.Item("Indexiert") = True
' DR_AUTOINDEX.Item("Indexwert") = automatischerValue
@ -1969,7 +1991,7 @@ Public Class frmIndex
' Dim DEFAULTVALUE As String = DR_AUTOINDEX.Item("VALUE")
' 'Indexierung mit WindowsVariable
' If DEFAULTVALUE.StartsWith("$") Then
' LOGGER.Info(" >> Indexierung mit einer Windowsvariable: '" & DEFAULTVALUE & "'")
' LOGGER.Info("Indexierung mit einer Windowsvariable: '" & DEFAULTVALUE & "'")
' Select Case DEFAULTVALUE.ToUpper
' Case "$filename_ext".ToUpper
' DEFAULTVALUE = Path.GetFileName(CURRENT_WORKFILE)
@ -1995,9 +2017,9 @@ Public Class frmIndex
' DEFAULTVALUE = USER_SHORT_NAME
' End Select
' LOGGER.Info(" >> Ergebnis der Windowsvariable: '" & DEFAULTVALUE & "'")
' LOGGER.Info("Ergebnis der Windowsvariable: '" & DEFAULTVALUE & "'")
' Else
' LOGGER.Info(" >> Indexierung mit einem Festen Wert: '" & DEFAULTVALUE & "'")
' LOGGER.Info("Indexierung mit einem Festen Wert: '" & DEFAULTVALUE & "'")
' End If
' 'Den Wert in der Zwischentabelle speichern
' DR_AUTOINDEX.Item("Indexiert") = True
@ -2051,25 +2073,24 @@ Public Class frmIndex
Private Function WORK_FILE()
Try
Me.VWDDINDEX_MANTableAdapter.Fill(Me.MyDataset.VWDDINDEX_MAN, CURRENT_DOKART_ID)
LOGGER.Info(" >> Manuelle Indexe geladen")
LOGGER.Debug("Manuelle Indexe geladen")
If MyDataset.VWDDINDEX_MAN.Rows.Count > 0 Then
CURRENT_DOKART_ID = Me.cmbDokumentart.SelectedValue
If CheckWrite_IndexeMan(Me.cmbDokumentart.SelectedValue) = True Then
'##### Manuelle Indexe indexiert #####
LOGGER.Info(" >> Datei " & CURRENT_WORKFILE & " wird nun indexiert...")
LOGGER.Info("Datei [" & CURRENT_WORKFILE & "] wird nun indexiert...")
If FillIndexe_Autom(Me.cmbDokumentart.SelectedValue) = True Then
LOGGER.Info(" ...FillIndexe_Autom durchlaufen")
LOGGER.Debug(" ...FillIndexe_Autom durchlaufen")
'Den Zielnamen zusammenbauen
If Name_Generieren() = True Then
LOGGER.Info(" ...Name_Generieren durchlaufen")
'Dokumentenviewer ausblenden um keinen Zugriffsfehler zu produzieren
DocumentViewer1.Done()
LOGGER.Info(" ...Viewer geschlossen")
LOGGER.Debug(" ...Viewer geschlossen")
'Die Datei verschieben
If Move_File2_Target() = True Then
LOGGER.Info(" ...Move_File2_Target durchlaufen")
LOGGER.Debug(" ...Move_File2_Target durchlaufen")
'Die Originaldatei löschen
If DropType = "|DROPFROMFSYSTEM|" Then
If CURR_DELETE_ORIGIN = True Then
@ -2094,7 +2115,7 @@ Public Class frmIndex
End If
CURRENT_LASTDOKART = cmbDokumentart.Text
LOGGER.Info(" >> Datei '" & CURRENT_NEWFILENAME & "' erfolgreich erzeugt.")
LOGGER.Info("Datei '" & CURRENT_NEWFILENAME & "' erfolgreich erzeugt.")
Dim oDEL As String = "DELETE FROM TBGI_FILES_USER WHERE GUID = " & CURRENT_WORKFILE_GUID
ClassDatabase.Execute_non_Query(oDEL, True)
Return True
@ -2325,16 +2346,16 @@ Public Class frmIndex
'####
' alle Vorkommen innerhalb des Ordnerstrings durchlaufen
For Each element As Match In elemente
LOGGER.Info(" >> Elementname in FolderString: '" & element.ToString & "'")
LOGGER.Info("Elementname in FolderString: '" & element.ToString & "'")
Select Case element.Value.Substring(2, 1).ToUpper
'Manueller Indexwert
Case "M"
Dim ManIndexname = element.Value.Substring(3, element.Value.Length - 4)
Dim optional_index As Boolean = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & CURRENT_DOKART_ID & " AND UPPER(NAME) = UPPER('" & ManIndexname & "')", MyConnectionString, True)
LOGGER.Info(" >> Versuch den Indexwert aus '" & ManIndexname & "' auszulesen.")
LOGGER.Info("Versuch den Indexwert aus '" & ManIndexname & "' auszulesen.")
Dim ManIndex_Value As String = GetManIndex_Value(ManIndexname, "FILE", optional_index)
LOGGER.Info(" >> Ergebnis/Wert für neuen Ordner: '" & ManIndexname & "'")
LOGGER.Info("Ergebnis/Wert für neuen Ordner: '" & ManIndexname & "'")
If Not ManIndex_Value = String.Empty Then
If IsDate(ManIndex_Value) Then
ManIndex_Value = CDate(ManIndex_Value).ToString("yyyyMMdd")
@ -2342,11 +2363,11 @@ Public Class frmIndex
ManIndex_Value = ClassFilehandle.CleanFilename(ManIndex_Value, "")
myDynamicFolder = myDynamicFolder.Replace(element.ToString, ManIndex_Value)
LOGGER.Info(" >> FolderPattern: '" & myDynamicFolder & "'")
LOGGER.Info("FolderPattern: '" & myDynamicFolder & "'")
Else
If optional_index = True Then
LOGGER.Info(" >> Optionaler Indexwert ist NICHT gefüllt")
LOGGER.Info("Optionaler Indexwert ist NICHT gefüllt")
Else
LOGGER.Info(" - Achtung Ausnahme in 'CrFolderForIndex': der Index ist leer!")
Return True
@ -2354,16 +2375,16 @@ Public Class frmIndex
End If
Case "A"
Dim AutoIndexname = element.Value.Substring(3, element.Value.Length - 4)
LOGGER.Info(" >> Versuch den Auto-Indexwert aus '" & AutoIndexname & "' auszulesen.")
LOGGER.Info("Versuch den Auto-Indexwert aus '" & AutoIndexname & "' auszulesen.")
Dim AutoIndex_Value As String = GetAutoIndex_Value(AutoIndexname)
LOGGER.Info(" >> Ergebnis/Wert für neuen Ordner: '" & AutoIndexname & "'")
LOGGER.Info("Ergebnis/Wert für neuen Ordner: '" & AutoIndexname & "'")
If Not AutoIndex_Value = String.Empty Then
AutoIndex_Value = ClassFilehandle.CleanFilename(AutoIndex_Value, "")
If AutoIndex_Value = "EMPTY_OI" Then
myDynamicFolder = myDynamicFolder.Replace(element.ToString, "")
Else
myDynamicFolder = myDynamicFolder.Replace(element.ToString, AutoIndex_Value)
LOGGER.Info(" >> FolderPattern: '" & myDynamicFolder & "'")
LOGGER.Info("FolderPattern: '" & myDynamicFolder & "'")
End If
Else
@ -2394,7 +2415,7 @@ Public Class frmIndex
oElementTemp = My.Computer.Clock.LocalTime.Year & "-" & _Month
End Select
myDynamicFolder = myDynamicFolder.Replace(element.ToString, oElementTemp)
LOGGER.Info(" >> FolderPatter nach V-Element: '" & myDynamicFolder & "'")
LOGGER.Info("FolderPatter nach V-Element: '" & myDynamicFolder & "'")
Case Else
LOGGER.Info(" - Achtung - in der Namenkonvention wurde ein Element gefunden welches nicht zugeordnet werden kann!" & vbNewLine & "Elementname: " & element.Value.ToUpper)
@ -2408,13 +2429,13 @@ Public Class frmIndex
LOGGER.Info(" >> Den Root-Folder zusammenfügen>> ")
LOGGER.Info("Den Root-Folder zusammenfügen>> ")
Dim oNewFullpath As String = ORootFolder & "\" & myDynamicFolder & "\"
oNewFullpath = oNewFullpath.Replace("\\", "\")
oNewFullpath = Path.Combine(ORootFolder, myDynamicFolder)
LOGGER.Info(" >> Fullpath (mit evtl. Sonderzeichen (SZ)) '" & oNewFullpath & "'")
LOGGER.Info("Fullpath (mit evtl. Sonderzeichen (SZ)) '" & oNewFullpath & "'")
Dim invalidPathChars() As Char = Path.GetInvalidPathChars()
For Each sonderChar As Char In invalidPathChars
'Sonderzeichen ausser Whitespace entfernen
@ -2424,13 +2445,13 @@ Public Class frmIndex
End If
End If
Next sonderChar
LOGGER.Info(" >> Fullpath (ohne SZ) '" & oNewFullpath & "'")
LOGGER.Info("Fullpath (ohne SZ) '" & oNewFullpath & "'")
If Directory.Exists(oNewFullpath) = False Then
Try
Directory.CreateDirectory(oNewFullpath)
LOGGER.Info(" >> Folder '" & oNewFullpath & "' wurde angelegt")
LOGGER.Info("Folder '" & oNewFullpath & "' wurde angelegt")
Catch ex As Exception
LOGGER.Info(" >> Error in CreateFolderforIndex-Method - Root Folder '" & oNewFullpath & "' could not be created. " & ex.Message)
LOGGER.Info("Error in CreateFolderforIndex-Method - Root Folder '" & oNewFullpath & "' could not be created. " & ex.Message)
LOGGER.Error(ex.Message)
MsgBox("Attention: Root Folder '" & oNewFullpath & "' could not be created." & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
@ -2443,7 +2464,7 @@ Public Class frmIndex
Return True
Catch ex As Exception
MsgBox("Unexpected Error in CreateFolderforIndex-Method:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
LOGGER.Info(" >> Fehler in CrFolderForIndex: " & ex.Message)
LOGGER.Info("Fehler in CrFolderForIndex: " & ex.Message)
Return False
End Try
End Function

View File

@ -115,6 +115,7 @@
<File Id="DLLLicenseManager" Name="DLLLicenseManager.dll" Source="P:\Visual Studio Projekte\Bibliotheken\DLLLicenseManager.dll" KeyPath="no" />
<File Id="DocumentViewer" Name="DigitalData.Controls.DocumentViewer.dll" Source="DigitalData.Controls.DocumentViewer.dll" KeyPath="no" />
<File Id="LookupGrid" Name="DigitalData.Controls.LookupGrid.dll" Source="DigitalData.Controls.LookupGrid.dll" KeyPath="no" />
<File Id="Windream" Name="DigitalData.Controls.Windream.dll" Source="DigitalData.Controls.Windream.dll" KeyPath="no" />
</Component>
<Component Id="GDPictureLibs" Guid="9ea5ab43-58ff-4813-9a8b-f854784f0275">