Fixes issue 18
* Issue 18 was caused by the file type association icon extraction. If no file type associations were set up, the object was not defined which resulted in an error
* Fix was to check if the object exists prior to looking at values in it
Resulted in breaking some of my habits and putting a messagebox windows in libraries. Not my favorite thing, but it works.
This helps debug issue 3, it does not resolve issue 3.
To test it - open an office document (such as Word or Excel) and try to overwrite the office document with the RDP file including the office document extention (xls, xlsx, doc, docx, etc). The application will tell you that the file is locked, locked by Word/Excel/etc and the PID that is locking it just in case you have multiple copies of the application that is locking it open.
A lot of the code was borrowed from Microsoft (https://code.msdn.microsoft.com/windowsapps/How-to-know-the-process-170ed5f3/sourcecode?fileId=151114&pathId=1558127374).
Fixes issue 4
Rebased off of host master to reduce the chance of a merge conflict
* rdpsign.vb: updated to dynamically determine the path to rdpsign.exe
* rdpsign.vb: updated to show an error if rdpsign.exe cannot be found (now imports system.windows.forms for MessageBox)
* Create Client Connection window: Made some visual + text changes
* Create Client Connection window: Disable the signing section if rdpsign.exe not detected or if no certificates are found
* Create Client Connection window: Change "Disabled" checkbox text to "Sign RDP file" and reverse its logic (so that checked = sign rdp file)
* Create Client Connection window: "Create Signed and Unsigned" checkbox is disabled + unticked if generating an MSI
* Create Client Connection window: Certificate ComboBox defaults to the first certificate rather than blank
* Create Client Connection window: Updated the save/reset settings to include the new signing section
* Create Client Connection window: Updated the Tab-Order
Fix Issue 4
* Added in library for signing the generated RDP file
* Library requires the certificate to have a friendly name for it to show up in the drop down. No friendly name, no certificate in dropdown
* Library detects the rdpsign.exe version to determine proper arguments (/sha1 or /sha256)
* Updated RemoteApp Tool to use new library and sign the RDP file after it is created
* Added in logic around the signing to prevent editing after creating the RDP file if signed
* Library allows for creating an unsigned backup along with the signed version, added ability to do the same in RemoteApp Tool
* Updated RemoteApp tool to use Visual Studio 2019, but allows for support back to some pervious versions
* Tested on Windows 10 and Windows Server 2008 R2 and was successful on both
Fix Issue #2
* Updated REGEX to allow all lowercase and uppercase characters which allows for cross-language (for the most part) support
* Updated REGEX to allow for the _ character