[BUG] UAC support broken in PowerArchiver 2018



  • Hi,
    I’ve some problems with UAC in PowerArchiver 2018:

    • I’ve already reported problems for PA2017 and you fixed some problems.
    • I’ve noticed again problems with UAC: The problematic archive is a 7zip. Opening it with PA2018 and directly clicking on extract, triggers an UAC prompt as expected. Selecting single files and trying to extract them to the same place (a subfolder of C:\Program Files) fails with an error (there are already older versions of the files in the same place to be overwritten).
    • I’ve done further tests with other formats, via shell extension (Extract to…):
      My test archives contain 1 file: test.txt
      If the file does not already exist:
      UAC prompt: 7z, pa, tar, lha
      Access error: zip, rar, cab, bh
      If the file already exists in the destination folder, no UAC prompt is triggered in any case. I confirm overwriting the files and it fails with an access error.
      I’ve used PA 18.00.46 x64 on Windows 10 1709.
    • The x86 Shell extension behaves differently:
      All but the rar archive triggers an UAC prompt if the file doesn’t exist in the destination folder; if I deny the UAC prompt, the shell extension crashes in most cases.

    Are you going to fix this in PA2018 soon or should I revert to PA2016, again?


  • conexware

    thanks for the details on this one @BigMike
    confirmed it and logged it in



  • Can you estimate when the UAC problems will be fixed?
    I like the new features of PA2018 very much, but I’m using the shell extension pretty often, so this is very disturbing.


  • conexware

    @bigmike said in [BUG] UAC support broken in PowerArchiver 2018:

    Can you estimate when the UAC problems will be fixed?
    I like the new features of PA2018 very much, but I’m using the shell extension pretty often, so this is very disturbing.

    I will raise this again at next build discussions… for upcoming week we have PACL, PAOP builds first and then we will look at PA again. Thanks!



  • Thank you 🙂



  • @spwolf Any news here?


  • conexware

    @BigMike said in [BUG] UAC support broken in PowerArchiver 2018:

    @spwolf Any news here?

    not yet… we have new building coming soon, let see if we can squeeze it in. For 2019 we will likely rewrite shell from scratch, we will see. Thanks for keeping track of it!



  • Keeping track of it is easy - I’m regularly reminded of it, when I forget about the bug and try to use the shell extension for a protected folder. 😢
    But thank you for the information.



  • Sorry, but in favor of a working context menu, I’m switching back to PowerArchiver 2016, giving up the full x64 version, explorer mode and PA format.


  • conexware

    @BigMike said in [BUG] UAC support broken in PowerArchiver 2018:

    Sorry, but in favor of a working context menu, I’m switching back to PowerArchiver 2016, giving up the full x64 version, explorer mode and PA format.

    actually we are just working on it… lets see what we can do, problem/difference is that in 2017 we have been using more threads for faster speed and that messes up UAC elevation in some cases.



  • I’ll happily test the new version and get all the other features back.


  • conexware

    @BigMike said in [BUG] UAC support broken in PowerArchiver 2018:

    I’ll happily test the new version and get all the other features back.

    as long as we can improve it… I will let you know, @ivan already spent few days on it alone. Thanks!


  • conexware

    @BigMike Check out his release:
    http://dl.powerarchiver.com/2018/powarc180103.exe

    It elevates complete PowerArchiver instead of the thread, since 7z/PA formats use multiple threads. This might create some issues so test it out both in main and shell please!

    thanks!



  • First: Thank you for your efforts 🙂
    UAC handling seems to work fine, but I encountered some problems, while I prepared my test:

    32bit: Shell extension:

    • Adding two files to a new zip archive; user has no write access to the destination folder; UAC dialog was shown and confirmed; but the rights were not sufficient afterwards (Windows 10 Controlled Folder access blocked it): Instead of giving an error, PowerArchiver launched one process after another to create the archive; Not tested in x64 as my test Windows is to old (No Controlled Folder access)

    32bit: Application:

    • Convert archive PA -> Other: TAR; Exception TList<System.Classes.TComponent> in module POWERARC.EXE at 000B94E4; This works in x64

    64bit: Application:

    • Convert archive PA -> Other: RAR; Conversion is done, but a message is displayed, that some archives couldn’t be converted (RAR executable 5.50 x64); Not tested on x86 since no RAR executable there…

    Test scenario:
    Test archives containing two files, try to extract to a folder, which is read only for users, administrators have full access. Passed means: UAC prompt confirmed --> asked to overwrite files --> no error displayed
    Actually, there seems to be no error if I deny UAC prompt

    Shell Extension x64 Passed: 7z bh cab lzh pa rar tar.gz zip zpaq
    Application x64 Passed: 7z bh cab lzh pa rar tar.gz zip zpaq
    Shell Extension x86 Passed: 7z bh cab lzh pa rar tar.gz zip zpaq
    Application x86 Passed: 7z bh cab lzh pa rar tar.gz zip zpaq

    Failed: None

    Is this version reasonable stable to be used on a production machine? Actually, from your description, it seems you changed a lot in the extraction processes.



  • By the way, silently failing if the UAC prompt is denied, is a real problem, as it’s possible to configure UAC settings to deny an UAC request automatically:
    GPO setting: User Account Control: Behavior of the elevation prompt for standard users
    If you set it to “No Prompt”, UAC requests will be automatically blocked. And with the actual behavior a user would get no feedback, that the operation failed!


  • conexware

    @BigMike said in [BUG] UAC support broken in PowerArchiver 2018:

    By the way, silently failing if the UAC prompt is denied, is a real problem, as it’s possible to configure UAC settings to deny an UAC request automatically:
    GPO setting: User Account Control: Behavior of the elevation prompt for standard users
    If you set it to “No Prompt”, UAC requests will be automatically blocked. And with the actual behavior a user would get no feedback, that the operation failed!

    Please check with .04:
    http://dl.powerarchiver.com/2018/powarc180104.exe

    There should be an error, but lets make sure it does not appear at wrong time.

    As to the changes, it does nothing to actual extraction code/engine, it checks if it can write file, and if not, it starts compression/extraction from another/elevated version of powerarc.exe… where before it elevated specific existing thread, which did not work reliably with engines that use multiple threads.

    Thanks!



  • Now I get error messages as expected.


  • conexware

    @BigMike said in [BUG] UAC support broken in PowerArchiver 2018:

    Now I get error messages as expected.

    thanks for your help Michael!


 

6
Online

9.8k
Users

6.0k
Topics

36.8k
Posts