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).
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