It is believed that loading this COM interface is causing crashes by bringing in shell extension DLLS. This patch retrieves it through alternate means (the same way that ShellExecuteByExplorer does already).
It also fixes BSTR handling and does some general cleanup that was requested (and needed).
Differential Revision: https://phabricator.services.mozilla.com/D143776