none
Start WPRUI.EXE returns "A referral was returned from the server" RRS feed

  • Question

  • Installed WPT for Windows 10 on a Windows 8.1 OS.

    When I start WPRUI.EXE I get the above error. WPA ad WPR.EXE Works without any issues.

    Using WPRUI.EXE from SDK 8.1 (version 6.3.9600.17298) it starts perfect.

    The errror in WPRUI.EXE for Windows 10 shows up where "User Account Control" shows up in the one that Works.

    Regards

    Ib Tornøe

    Wednesday, October 21, 2015 3:28 PM

All replies

  • As of 10/28/2015 also getting same error for W10 WPT kit on Win 8.1x64 and W7sp1 x64.  Same error on both.  I'm guessing it calls home and right now no one is home to answer.

    I also confirm SDK for 8.1 does work. 

    • Edited by SteveSweeny Wednesday, October 28, 2015 5:03 PM append more info
    Wednesday, October 28, 2015 4:56 PM
  • This is caused by the WPRUI manifest which requests UIAccess=true. To work around it you can check on the WPRUI executable properties under Compatibility: Run as Administrator or you add the code signing certificate of WPRUI as trusted root authority.

    The real fix would be to remove UIAccess=true from the manifest which causes issues on hardened systems.

    Yours,

       Alois Kraus

    Wednesday, April 20, 2016 4:39 AM
  • Alois,

    Thanks for your answer, but I don't quite understand.

    First, where is the manifest file you are referring to, where I can change UIAccess=true - I can't find it

    Second, I have checked the certificates used to sign the WPRUI.EXE, there are two certificates, a SHA1 and an SAH256, they are both not valid any more, but that's also go for WPA.EXE which works fine. . . . .

    Hope you can clarify.

    -Ib Tornøe

    Wednesday, April 20, 2016 7:01 AM
  • My answer was a bit short ...

    The WPRUI.exe contains an embedded manifest as Win32 resource in the executable. If you extract it you will find

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <!-- Copyright (c) Microsoft Corporation -->
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <assemblyIdentity
          name="Microsoft.Windows.PerformanceRecorder"
          version="5.1.0.0"
          processorArchitecture="amd64"
          type="win32"
      />
      <description>Microsoft Windows Performance Recorder</description>
      <dependency>
        <dependentAssembly>
          <assemblyIdentity
              type="win32"
              name="Microsoft.Windows.Common-Controls"
              version="6.0.0.0"
              publicKeyToken="6595b64144ccf1df"
              language="*"
              processorArchitecture="amd64"
            />
        </dependentAssembly>
      </dependency>
      <asmv3:application>
        <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
          <dpiAware>false</dpiAware>
        </asmv3:windowsSettings>
      </asmv3:application>
      <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
          <requestedPrivileges>
            <requestedExecutionLevel
                level="requireAdministrator"
                uiAccess="true"
                />
          </requestedPrivileges>
        </security>
      </trustInfo>
    </assembly>

    That is set only for WPRUI and not WPR.exe. I guess that was set because WPRUI sets global hotkeys which needs UI access to be able to do that. You can call

    reg.exe Add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\WPRUI.exe" /d "~ RUNASADMIN"

    to set the registry programatically to get it working on remotely logged on Administrators. The UAC elevation will only work if the executable with "uiAccess=true" wants to be elevated, is installed at a save location (Program Files, Program Files x86 count as safe), and the exeuctable is digitally signed (WPRUI is signed).

    But that is still not sufficient as I have found. I needed to add the code signing certificate of WPRUI to the  Trusted Root Authorities to make UAC and Elevation work happily. But that is not really supported because the code signing certificate is not a trusted root authority at all and all other certificate locations have failed when I tried it.

    The best way is still to go with the application compatibility key or to request the WPT Team to remove the UIAccess elevation from their manifest for the next version.

    Yours,

        Alois Kraus


    • Edited by Alois Wednesday, April 20, 2016 8:15 AM
    Wednesday, April 20, 2016 8:12 AM