Windows – 7zip – self-extracting executables require admin privileges and trigger compatibility warning

7-zipself-extractinguacwindows 7

When I create self-extracting archive executables for Windows with 7zip, the .EXEs trigger UAC on Windows7. And frequently after unzipping, I get this:

enter image description here

I'm using commandline like: 7z a -sfx7z.sfx dir\. Why are these things happening and can I fix them?

Best Answer

You may want to disable this warning, if so, follow the steps below.

  1. Open Service Manager(press + R, type services.msc and hit Enter).
  2. Search for Program Compatibility Assistance Service in the list.
  3. Right click on this service and select Stop.
  4. Now again right click on Program Compatibility Assistance Service and select Properties.
  5. Under General tab in the Startup type section, click on the drop-down menu and select Disabled.
  6. Click on Apply then OK.

Note: Program Compatibility Assistance monitors programs for known compatibility issues and can be very beneficial for end users. This tip is aimed at power users.


Another probable solution is to embed a manifest file to avoid this alert. Something like this:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
  <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 
      <application> 
        <!--The ID below indicates application support for Windows 7 --> 
          <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> 
      </application> 
    </compatibility>
  </assembly>

How to embed the application manifest into my executable?

You can use this utility(mt.exe - assuming you have the sdk installed) from Microsoft to do this. You would use a similar command like this:

mt.exe  -manifest "foo.manifest" -outputresource:"foo.exe";#1

Other Considerations

  • Consider using this program(7z SFX-Creator), according to this page: self-extracting archives created will no longer cause alert PCA.
  • See if IExpress may be useful to you enter image description here
Related Question