title: How to set DPI awareness of COM class loaded via DllSurrogate
body: <p>I have tried every single manifest example under the sun in order to get my small application to scale properly (on Windows 8.1).  Here's my latest attempt, for example:</p>
  <pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;
  &lt;assembly xmlns=&quot;urn:schemas-microsoft-com:asm.v1&quot; manifestVersion=&quot;1.0&quot; xmlns:asmv3=&quot;urn:schemas-microsoft-com:asm.v3&quot;&gt;
    &lt;asmv3:application&gt;
      &lt;asmv3:windowsSettings&gt;
        &lt;dpiAware xmlns=&quot;http://schemas.microsoft.com/SMI/2005/WindowsSettings&quot;&gt;true/pm&lt;/dpiAware&gt;
        &lt;dpiAwareness xmlns=&quot;http://schemas.microsoft.com/SMI/2016/WindowsSettings&quot;&gt;PerMonitorV2&lt;/dpiAwareness&gt;
      &lt;/asmv3:windowsSettings&gt;
    &lt;/asmv3:application&gt;
  &lt;/assembly&gt;
  </code></pre>
  <p>Absolutely nothing has worked.  So I was wondering if there's something else that needs to be done.  My application is a COM Dll that's loaded out of process via DllSurrogate.  Is there something else that should be added (maybe a commmand line flag or something) in order to get awareness to kick in?  Calling <code>SetProcessDpiAwareness(PROCESS_PER_MONITOR_DPI_AWARE)</code> does work, actually, but the docs discourage making API calls in lieu of the manifest approach.  Thank you for any help!</p>