The solution is to change the TestComplete.exe and/or TestExecute.exe manifest files to ensure that they run in an elevated manner:

In order to obtain TestComplete via COM under Windows 8, your application should have extended privileges. For that your application must include a manifest file with a special attribute. The manifest is an XML file that contains a description of settings and resources that the application uses during the run. For more information on the application manifest, see the MSDN article:

http://msdn.microsoft.com/en-us/library/aa374191.aspx

To get necessary privileges, the manifest must include the uiAccess attribute in the requestedExecutionLevel element. Below, you can see a fragment of the manifest with the required attribute.

  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="true"/>
      </requestedPrivileges>
    </security>
  </trustInfo>

To modify TestComplete’s manifest, do the following:

  1. Open TestComplete’s manifest in your XML or text editor. It is located in “<TestComplete>\Bin\TestComplete.exe.manifest”

  2. Delete the following attribute:

    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
      <security>
        <requestedPrivileges>
          <requestedExecutionLevel level="asInvoker" uiAccess="true"/>
        </requestedPrivileges>
      </security>
    </trustInfo>

  3. Save the file and reboot the system.

Sometimes, after you change the manifest file, you may need to execute this command from the Command Prompt (copy the line as is) to deal with any manifest caching behavior of Windows:
copy /b TestComplete.exe +,,