merge commit

This commit is contained in:
SchreiberM 2021-03-04 09:15:49 +01:00
commit bba05e7ba9
7 changed files with 300 additions and 236 deletions

View File

@ -237,9 +237,8 @@ Public Class ClassInit
HotkeySearchKey = oResult
HotkeySearchKey_via_Server = True
Catch ex As Exception
HotkeySearchKey_via_Server = "d"
HotkeySearchKey = "d"
End Try
Else
Logger.Info($"Wrong oMode: {oMode}")
End If

View File

@ -113,7 +113,8 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\DDMonorepo\Modules.Patterns\bin\Debug\DigitalData.Modules.Patterns.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Windows">
<Reference Include="DigitalData.Modules.Windows, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\DDMonorepo\Windows\bin\Debug\DigitalData.Modules.Windows.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.ZooFlow">

View File

@ -12,8 +12,8 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("Digital Data")>
<Assembly: AssemblyProduct("Clipboard Watcher")>
<Assembly: AssemblyCopyright("Copyright ©2020")>
<Assembly: AssemblyTrademark("20013")>
<Assembly: AssemblyCopyright("Copyright ©2021")>
<Assembly: AssemblyTrademark("2240")>
<Assembly: ComVisible(False)>
@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.2.1.0")>
<Assembly: AssemblyVersion("2.2.4.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>

File diff suppressed because it is too large Load Diff

View File

@ -123,9 +123,6 @@
<metadata name="MyDataset.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>245, 17</value>
</metadata>
<metadata name="MyDataset.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>245, 17</value>
</metadata>
<metadata name="TBWH_UserBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>122, 56</value>
</metadata>
@ -909,25 +906,12 @@
LDE0LjMsMjZ6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L
</value>
</data>
<data name="TabPageProfileAssignment.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJkCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMiAzMiI+DQogIDxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQo8L3N0eWxlPg0KICA8ZyBp
ZD0iTGF5ZXJfMSI+DQogICAgPHBhdGggZD0iTTIzLjcsMTQuNGMwLjUsMC4zLDAuNSwwLjgsMCwxLjFs
LTExLjgsNy4zdjIuNmMwLDAuNiwwLjQsMC44LDAuOSwwLjVsMTYuOC0xMC40YzAuNS0wLjMsMC41LTAu
OCwwLTEuMSAgIEwxMi44LDQuMWMtMC41LTAuMy0wLjktMC4xLTAuOSwwLjV2Mi42TDIzLjcsMTQuNHoi
IGNsYXNzPSJCbHVlIiAvPg0KICAgIDxwYXRoIGQ9Ik0xOS43LDE1LjVjMC41LTAuMywwLjUtMC44LDAt
MS4xTDIuOSw0LjFDMi40LDMuOCwyLDQsMiw0LjZ2MjAuNmMwLDAuNiwwLjQsMC44LDAuOSwwLjVMMTku
NywxNS41eiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCiAgPGcgaWQ9IkxheWVyXzIiIC8+DQo8L3N2
Zz4L
</value>
</data>
<metadata name="VWCW_GROUP_PROFILEBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>500, 95</value>
</metadata>
<metadata name="TBWH_GROUPBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>290, 95</value>
</metadata>
<data name="TabPageGroupAssignment.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
@ -976,12 +960,25 @@
MjAsMTh6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
</value>
</data>
<metadata name="VWCW_GROUP_PROFILEBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>500, 95</value>
</metadata>
<metadata name="TBWH_GROUPBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>290, 95</value>
</metadata>
<data name="TabPageProfileAssignment.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJkCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMiAzMiI+DQogIDxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQo8L3N0eWxlPg0KICA8ZyBp
ZD0iTGF5ZXJfMSI+DQogICAgPHBhdGggZD0iTTIzLjcsMTQuNGMwLjUsMC4zLDAuNSwwLjgsMCwxLjFs
LTExLjgsNy4zdjIuNmMwLDAuNiwwLjQsMC44LDAuOSwwLjVsMTYuOC0xMC40YzAuNS0wLjMsMC41LTAu
OCwwLTEuMSAgIEwxMi44LDQuMWMtMC41LTAuMy0wLjktMC4xLTAuOSwwLjV2Mi42TDIzLjcsMTQuNHoi
IGNsYXNzPSJCbHVlIiAvPg0KICAgIDxwYXRoIGQ9Ik0xOS43LDE1LjVjMC41LTAuMywwLjUtMC44LDAt
MS4xTDIuOSw0LjFDMi40LDMuOCwyLDQsMiw0LjZ2MjAuNmMwLDAuNiwwLjQsMC44LDAuOSwwLjVMMTku
NywxNS41eiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCiAgPGcgaWQ9IkxheWVyXzIiIC8+DQo8L3N2
Zz4L
</value>
</data>
<metadata name="TBCW_PROF_DATA_SEARCHTableAdapter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>862, 56</value>
</metadata>

View File

@ -4,13 +4,20 @@ Imports System.Globalization
Imports DD_Clipboard_Watcher.ClassConstants
Imports DD_Clipboard_Watcher.ClassWindowAPI
Imports DigitalData.Modules.ZooFlow
Imports DigitalData.Modules.Windows
Imports DigitalData.GUIs.ClipboardWatcher
Public Class frmMain
Private WithEvents Hotkey As New ClassHotkey(Me)
'Private WithEvents _Watcher As ClipboardWatcher = ClipboardWatcher.Singleton
Private WithEvents _Watcher2 As ClassClipboardWatcher = ClassClipboardWatcher.Singleton
Private WithEvents _Hotkey As New ClassHotkey(Me)
Private WithEvents _Watcher As ClassClipboardWatcher = ClassClipboardWatcher.Singleton
Private _Animator As New Animator() With {
.PopupColor = Color.FromArgb(255, 214, 49),
.PopupOpacity = 0.8,
.PopupSize = New Size(100, 30)
}
Private _MatchForm As frmMatch = Nothing
Private _DataASorDB As ClassDataASorDB
Public Sub New()
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
@ -54,16 +61,16 @@ Public Class frmMain
ClassInit.Refresh_Profile_Links()
_DataASorDB.Refresh_Connections()
Try
Hotkey.AddHotKey(Keys.T, ClassHotkey.ModfierKey.MOD_CONTROL, HOTKEY_TOGGLE_WATCHER)
_Hotkey.AddHotKey(Keys.T, ClassHotkey.ModfierKey.MOD_CONTROL, HOTKEY_TOGGLE_WATCHER)
Dim oKeyCode As Keys
Dim oConverter As New KeysConverter
Dim oObject As Object = oConverter.ConvertFromString(HotkeySearchKey.ToUpper)
oKeyCode = CType(oObject, Keys)
If HotkeyFunctionKey = HOTKEY_CTRL Then
Hotkey.AddHotKey(oKeyCode, ClassHotkey.ModfierKey.MOD_CONTROL, ClassConstants.HOTKEY_TRIGGER_WATCHER)
_Hotkey.AddHotKey(oKeyCode, ClassHotkey.ModfierKey.MOD_CONTROL, ClassConstants.HOTKEY_TRIGGER_WATCHER)
ElseIf HotkeyFunctionKey = HOTKEY_SHIFT Then
Hotkey.AddHotKey(oKeyCode, ClassHotkey.ModfierKey.MOD_SHIFT, ClassConstants.HOTKEY_TRIGGER_WATCHER)
_Hotkey.AddHotKey(oKeyCode, ClassHotkey.ModfierKey.MOD_SHIFT, ClassConstants.HOTKEY_TRIGGER_WATCHER)
End If
Catch ex As Exception
Logger.Warn($"Unexpected Error in Hotkey inititialize: {ex.Message}")
@ -114,8 +121,8 @@ Public Class frmMain
End Try
Try
Hotkey.RemoveHotKey(HOTKEY_TOGGLE_WATCHER)
Hotkey.RemoveHotKey(HOTKEY_TRIGGER_WATCHER)
_Hotkey.RemoveHotKey(HOTKEY_TOGGLE_WATCHER)
_Hotkey.RemoveHotKey(HOTKEY_TRIGGER_WATCHER)
Catch ex As Exception
Logger.Error(ex)
Logger.Warn("Hotkeys could not be removed")
@ -124,7 +131,7 @@ Public Class frmMain
'TempDateien löschen
For Each oFile In TEMP_FILES
Try
File.Delete(oFile)
IO.File.Delete(oFile)
Catch ex As Exception
Logger.Warn("Temp file {0} could not be deleted", oFile)
Logger.Error(ex)
@ -133,10 +140,10 @@ Public Class frmMain
End Sub
Private Sub frmClipboardWatch_Disposed(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Disposed
_Watcher2.Dispose()
_Watcher.Dispose()
End Sub
Private Sub WatcherChanged_New(ByVal sender As Object, ByVal e As String) Handles _Watcher2.Changed
Private Sub WatcherChanged_New(ByVal sender As Object, ByVal e As String) Handles _Watcher.Changed
If MONITORING_ACTIVE = False Then
Logger.Info("Clipboard Watcher is inactive!")
'NotifyIconMain.ShowBalloonTip(20000, "Clipboard Watcher", "Clipboard-watcher is inactive.", ToolTipIcon.Info)
@ -218,26 +225,34 @@ Public Class frmMain
End Try
End Sub
Private Sub ReceiveHotKey(ByVal HotKeyID As String) Handles Hotkey.HotKeyPressed
Private Sub ReceiveHotKey(ByVal HotKeyID As String) Handles _Hotkey.HotKeyPressed
If HotKeyID = HOTKEY_TRIGGER_WATCHER Then
_Animator.Highlight(Cursor.Position)
If CURRENT_CLIPBOARD_CONTENTS IsNot Nothing Then
If MONITORING_ACTIVE = True Then
If CURRENT_MATCHING_PROFILES.Count = 0 Then
Logger.Info("ReceiveHotKey - No profiles matched the Clipboard-Content!")
Logger.Info("NOMATCH_INFO = {0}", NOMATCH_INFO)
If NOMATCH_INFO = False Then
NotifyIconMain.BalloonTipTitle = "Clipboard Watcher"
NotifyIconMain.BalloonTipText = "Es wurden keine passenden Profile gefunden."
NotifyIconMain.BalloonTipIcon = ToolTipIcon.Warning
NotifyIconMain.ShowBalloonTip(2500)
Else
Logger.Info("Popup will not be shown. NOMATCH_INFO Is True.")
End If
ElseIf CURRENT_PROFILES_WITH_RESULTS.Count = 0 Then
Logger.Info("ReceiveHotKey - No documents or data found for Clipboard-Content!")
Logger.Info("NOMATCH_INFO = {0}", NOMATCH_INFO)
If NOMATCH_INFO = False Then
NotifyIconMain.BalloonTipTitle = "Clipboard Watcher"
NotifyIconMain.BalloonTipText = "Es wurden weder Dokumente noch Daten gefunden!"
NotifyIconMain.BalloonTipIcon = ToolTipIcon.Warning
NotifyIconMain.ShowBalloonTip(2500)
Else
Logger.Info("Popup will not be shown. NOMATCH_INFO Is True.")
End If
Else

View File

@ -110,30 +110,30 @@
<!-- DEVEXPRESS Bibliotheken -->
<Component Id="DevExpressLibs" Guid="665D0AC8-93FC-4499-BA89-F660CAC6C577">
<File Id="DevExpress.Charts.v19.2.Core" Name="DevExpress.Charts.v19.2.Core.dll" />
<File Id="DevExpress.Data.v19.2" Name="DevExpress.Data.v19.2.dll" KeyPath="yes" />
<File Id="DevExpress.DataAccess.v19.2.UI" Name="DevExpress.DataAccess.v19.2.UI.dll" />
<File Id="DevExpress.DataAccess.v19.2" Name="DevExpress.DataAccess.v19.2.dll" />
<File Id="DevExpress.Dialogs.v19.2.Core" Name="DevExpress.Dialogs.v19.2.Core.dll" />
<File Id="DevExpress.Images.v19.2" Name="DevExpress.Images.v19.2.dll" />
<File Id="DevExpress.Printing.v19.2.Core" Name="DevExpress.Printing.v19.2.Core.dll" />
<File Id="DevExpress.Office.v19.2.Core" Name="DevExpress.Office.v19.2.Core.dll" />
<File Id="DevExpress.Pdf.v19.2.Core" Name="DevExpress.Pdf.v19.2.Core.dll" />
<File Id="DevExpress.Printing.v19.2.Core" Name="DevExpress.Printing.v19.2.Core.dll" />
<File Id="DevExpress.RichEdit.v19.2.Core" Name="DevExpress.RichEdit.v19.2.Core.dll" />
<File Id="DevExpress.Sparkline.v19.2.Core" Name="DevExpress.Sparkline.v19.2.Core.dll" />
<File Id="DevExpress.Spreadsheet.v19.2.Core" Name="DevExpress.Spreadsheet.v19.2.Core.dll" />
<File Id="DevExpress.Utils.v19.2" Name="DevExpress.Utils.v19.2.dll" />
<File Id="DevExpress.XtraBars.v19.2" Name="DevExpress.XtraBars.v19.2.dll" />
<File Id="DevExpress.XtraDialogs.v19.2" Name="DevExpress.XtraDialogs.v19.2.dll" />
<File Id="DevExpress.XtraEditors.v19.2" Name="DevExpress.XtraEditors.v19.2.dll" />
<File Id="DevExpress.XtraGauges.v19.2.Core" Name="DevExpress.XtraGauges.v19.2.Core.dll" />
<File Id="DevExpress.XtraGauges.v19.2.Win" Name="DevExpress.XtraGauges.v19.2.Win.dll" />
<File Id="DevExpress.XtraGrid.v19.2" Name="DevExpress.XtraGrid.v19.2.dll" />
<File Id="DevExpress.XtraLayout.v19.2" Name="DevExpress.XtraLayout.v19.2.dll" />
<File Id="DevExpress.XtraPrinting.v19.2" Name="DevExpress.XtraPrinting.v19.2.dll" />
<File Id="DevExpress.XtraTreeList.v19.2" Name="DevExpress.XtraTreeList.v19.2.dll" />
<File Id="DevExpress.XtraDialogs.v19.2" Name="DevExpress.XtraDialogs.v19.2.dll" />
<File Id="DevExpress.XtraRichEdit.v19.2" Name="DevExpress.XtraRichEdit.v19.2.dll" />
<File Id="DevExpress.Dialogs.v19.2.Core" Name="DevExpress.Dialogs.v19.2.Core.dll" />
<File Id="DevExpress.RichEdit.v19.2.Core" Name="DevExpress.RichEdit.v19.2.Core.dll" />
<File Id="DevExpress.XtraSpreadsheet.v19.2" Name="DevExpress.XtraSpreadsheet.v19.2.dll" />
<File Id="DevExpress.Spreadsheet.v19.2.Core" Name="DevExpress.Spreadsheet.v19.2.Core.dll" />
<File Id="DevExpress.DataAccess.v19.2.UI" Name="DevExpress.DataAccess.v19.2.UI.dll" />
<File Id="DevExpress.DataAccess.v19.2" Name="DevExpress.DataAccess.v19.2.dll" />
<File Id="DevExpress.Charts.v19.2.Core" Name="DevExpress.Charts.v19.2.Core.dll" />
<File Id="DevExpress.XtraTreeList.v19.2" Name="DevExpress.XtraTreeList.v19.2.dll" />
</Component>
<Component Id="IndependentsoftLibs" Guid="136fd96d-3cae-4e50-b82b-423b5d695e7a">
@ -161,6 +161,30 @@
<util:RemoveFolderEx Id="RemoveApplicationFolder" On="uninstall" Property="APPLICATIONFOLDER" />
</Component>
<Directory Id="Resources.DE" Name="de">
<Component Id="Resources.DE.Devexpress" Guid="93cbf511-9a82-49e9-8283-678e508ac3b6">
<File Id="DevExpress.DataAccess.v19.2.UI.resources" Name="DevExpress.DataAccess.v19.2.UI.resources.dll" />
<File Id="DevExpress.DataAccess.v19.2.resources" Name="DevExpress.DataAccess.v19.2.resources.dll" />
<File Id="DevExpress.Dialogs.v19.2.Core.resources" Name="DevExpress.Dialogs.v19.2.Core.resources.dll" />
<File Id="DevExpress.Office.v19.2.Core.resources" Name="DevExpress.Office.v19.2.Core.resources.dll" />
<File Id="DevExpress.Pdf.v19.2.Core.resources" Name="DevExpress.Pdf.v19.2.Core.resources.dll" />
<File Id="DevExpress.Printing.v19.2.Core.resources" Name="DevExpress.Printing.v19.2.Core.resources.dll" />
<File Id="DevExpress.RichEdit.v19.2.Core.resources" Name="DevExpress.RichEdit.v19.2.Core.resources.dll" />
<File Id="DevExpress.Sparkline.v19.2.Core.resources" Name="DevExpress.Sparkline.v19.2.Core.resources.dll" />
<File Id="DevExpress.Spreadsheet.v19.2.Core.resources" Name="DevExpress.Spreadsheet.v19.2.Core.resources.dll" />
<File Id="DevExpress.Utils.v19.2.resources" Name="DevExpress.Utils.v19.2.resources.dll" />
<File Id="DevExpress.XtraBars.v19.2.resources" Name="DevExpress.XtraBars.v19.2.resources.dll" />
<File Id="DevExpress.XtraEditors.v19.2.resources" Name="DevExpress.XtraEditors.v19.2.resources.dll" />
<File Id="DevExpress.XtraGauges.v19.2.Core.resources" Name="DevExpress.XtraGauges.v19.2.Core.resources.dll" />
<File Id="DevExpress.XtraGrid.v19.2.resources" Name="DevExpress.XtraGrid.v19.2.resources.dll" />
<File Id="DevExpress.XtraLayout.v19.2.resources" Name="DevExpress.XtraLayout.v19.2.resources.dll" />
<File Id="DevExpress.XtraPrinting.v19.2.resources" Name="DevExpress.XtraPrinting.v19.2.resources.dll" />
<File Id="DevExpress.XtraRichEdit.v19.2.resources" Name="DevExpress.XtraRichEdit.v19.2.resources.dll" />
<File Id="DevExpress.XtraSpreadsheet.v19.2.resources" Name="DevExpress.XtraSpreadsheet.v19.2.resources.dll" />
<File Id="DevExpress.XtraTreeList.v19.2.resources" Name="DevExpress.XtraTreeList.v19.2.resources.dll" />
</Component>
</Directory>
</DirectoryRef>
<Feature Id="MainApplication" Title="Main Application" Level="1">
@ -172,6 +196,7 @@
<ComponentRef Id="IndependentsoftLibs"/>
<ComponentRef Id="GDPictureLibs"/>
<ComponentRef Id="RegistryKeys" />
<ComponentRef Id="Resources.DE.Devexpress" />
</Feature>
<Feature Id="DesktopShortcut" Title="Desktop Shortcut">