Menu

Windows 10 and drag and drop to extract files

2019-07-23
2021-07-19
  • Stefano Brustia

    Stefano Brustia - 2019-07-23

    Hi,
    I'm facing an issue on my company laptop with windows 10 when I try to drag and drop a file outside an archive.
    Everytimes I drag and drop a file to extract it windows shows an error of "item not found".
    Looking at the user temp folder I see that 7zip creates a temp folder containing the file, but as soon as I release the mouse button the folder is deleted and windows shows the error.

    The strange things is that on my home pc with windows 10, 7zip works well.

    Any suggestion ?

    Thanks

     
  • Igor Pavlov

    Igor Pavlov - 2019-07-23

    Try simplest cases:
    Drag and drop from c:\1\1.zip in 7-Zip to c:\1 folder in Explorer.
    Try also drag and drop with internal zip in windows or another zip programs (like winrar).

     
    • Stefano Brustia

      Stefano Brustia - 2019-07-23

      Hi Igor,
      I created a zip file named 1.zip in c:\1 folder with a txt file inside as you suggested.
      Trying to drag and drop the file from 7zip to C.\1 windows shows the error file not found.
      Trying to drag and drop the file using windows 10 internal zip and IZarc portable they work correctly

       

      Last edit: Stefano Brustia 2019-07-23
  • Igor Pavlov

    Igor Pavlov - 2019-07-23

    I don't know what's wrong with that your case.
    What temp folder path?
    Also try to drag some file from 7-Zip from some filesystem directory, but not from archive.

     
  • Stefano Brustia

    Stefano Brustia - 2019-07-23

    Temp folder is set %USERPROFILE%\AppData\Local\Temp, I also tried to set c:\temp as Windows temp folder but the issue is still present.

    Dragging a file that is not in an archive works correctly, but I saw that in the temp folder is not created any folder/file in that case.

     

    Last edit: Stefano Brustia 2019-07-24
  • Stefano Brustia

    Stefano Brustia - 2019-07-24

    I think I've got the same issue as https://sourceforge.net/p/sevenzip/bugs/2051/

     
  • Sheldon Plitt

    Sheldon Plitt - 2021-04-14

    I recently ran into this issue as well and took some time for some debugging. Using VS 2019 I've finally managed to get FM to build and run and can duplicate the issue in the debug environment.

    As far as I can tell, the issue is occurring when the Panel.OnDrag() method (PanelDrag.cpp, line 322) finishes and releases resources, deleting the temp folder. This method appears to exit BEFORE all the file copy operations are complete for some reason. I haven't figured out how all the layers work below the Panel class, but it seems that the extraction to the temp folder works OK, but the file copy doesn't complete before the Drag method finishes. If I place a breakpoint anywhere inside the Drag method, and then continue after the break, the operation is successful. If I place a breakpoint just after the Drag call in PanelListNotify.cpp (line 621) the operation fails. I also added a thread sleep timer inside Drag() of various times and depending on the size of the archive that is being extracted, the action will succeed as long as the timer is long enough without any breakpoints.

    I have a suspicion that the on-demand virus scanning may delay the copy operation in some way, but have no proof of that yet.

    Sorry for the ambiguity here, I just thought I'd share what I've learned so far. I'd appreciate any help understanding how the lower layers (Agent.cpp?) decide when the Extract operation is complete. I seems like there's a size value calculated and when it goes to 0, all the calls start to unwind. I don't know if that is just for the Extraction (to the temp folder) or if it accounts for the file copy time though.

     
  • Vincent Sylvester

    I keep running into this moving things from zips to upload via ftp or just dragging into other zips even. It's rather inconvenient to always extract things to disk manually before making changes. Maybe said method should fire on closing the specific zip and leave the folder intact during runtime, just like winzip and winrar do!

     

Log in to post a comment.