title: Inno Setup based installer hanging installing unsigned driver
body: <p>I am working on an installer for the deployment of a piece of software and a variety of it's dependencies. One of these dependencies is an unsigned driver. This driver already has it's own installer, so my Inno Setup script simply calls this .exe if the driver is not currently installed. </p>
  
  <p>The installation of this driver then hangs before the windows unsigned driver prompt shows. It's worth noting that the prompt WILL eventually show, but each time this takes at least 10 minutes and that is just unacceptable.</p>
  
  <p>I have tried running with and without elevated privileges. This problem is not encountered when running the driver installation executable separately. </p>
  
  <p>I have this issue on the following operating systems: </p>
  
  <ul>
  <li>Windows 7 Professional SP1 - with the KB3033929 security update.</li>
  <li>Windows 8.1 Professional</li>
  </ul>
  
  <p>Edit to include code* </p>
  
  <pre><code>[Files]
  Source: src\ff\driverexecutable.exe; DestDir: {tmp}\ff; Check: ffDriverVerCheck();
  
  [Run]
  Filename: {tmp}\ff\driverexecutable.exe; Check: ffDriverVerCheck();
  
  [Code]
    function ffDriverVerCheck(): boolean;
    var
      CVersionMS, CVersionLS, IVersionMS, IVersionLS: cardinal;
    begin 
      if FileExists(ExpandConstant('{sys}\DRIVERS\xxx.sys')) and FileExists(ExpandConstant('{sys}\WdfCoInstaller01011.dll')) then begin
        if GetVersionNumbers(ExpandConstant('{sys}\DRIVERS\xxx.sys'), CVersionMS, CVersionLS) and GetVersionNumbers(ExpandConstant('{src}\src\ff\driverexecutable.exe'), IVersionMS, IVersionLS)then begin
          if CVersionMS &lt; IVersionMS then begin
            Result := True;  
          end else begin
            Result := False;
          end;
        end;
      end else begin
        Result := True;
      end;
    end;
  </code></pre>
  
  <p>The code above will only extract the driverexecutable.exe to temp to be installed if an old, or no, version of the driver currently exists on the system.</p>