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?

3

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
  • Disabling the warning doesn't help, the end users cannot be expected to modify their computer setup. I've never seen this when receiving self-extracting archives, is it a bug in 7zip? Also - any idea why it needs admin rights? The folder in question isn't a protected one like Program Files. – Mr. Boy Mar 18 '14 at 13:53
  • 1
    IExpress is a great free (and semi-secret) feature in Windows but sadly doesn't support directories only a flat file structure. – Mr. Boy Mar 18 '14 at 17:53
3

Your self-extracting archive likely contains setup or install in its file name. In this case, Windows expects it installs an application.

If Windows does not detect “usual installer activity”, it assumes the installation failed because of missing administrator privileges. That's the reason why it prompts to re-run installation using recommended settings, with elevated privileges.

This heuristic is used where the executable does not have requestedExecutionLevel element in its manifest.

This issues could have been fixed in a newer version of 7zip self-extracting module.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.