Menu

Easy 7-Zip

James Hoo
2013-12-03
2016-10-17
1 2 > >> (Page 1 of 2)
  • James Hoo

    James Hoo - 2013-12-03

    Hello Everybody,

    I'm James Hoo. I made a new program - Easy 7-Zip that was built based on 7-Zip 9.20. I kept all features of 7-Zip and added a few useful features that makes the software more user-friendly.

    Why I made Easy 7-Zip? 7-Zip is a great software. I love it very much. However, when I used the 7-Zip frequently, I thought the software could be better. And, there isn't new official version released since version 9.20 (Nov 18, 2010). So, I downloaded source code of 7-Zip and, studied and modified the code in my leisure time, and made the Easy 7-Zip. I hope the Easy 7-Zip is useful for everybody.

    Features added to Easy 7-Zip:
    1. Adds icons to context menu
    2. Adds options to Extract dialog
    * Button "Open": Easy 7-Zip will open output folder when clicking on the button. So you can easily view files or directories in the folder by a click.
    * Button "FileName": When the button is clicked, Easy 7-Zip adds file name to end of output folder so that the program will create folder of file name and extract files to the folder. For example, file name is sample.7z, output folder is D:\Output, when clicking the button, the output folder will be D:\Output\sample, and all files will be outputted to the folder.
    * Show free and total space of output drive. It's useful for large file.
    * Option "Open output folder after extracting"
    3. Keeps same output folder history
    4. Minimizes to system tray when clicking "Background" on progress dialog
    5. Makes a new installation file
    6. Fixes bugs

    Version: 0.1
    Size: 2.5 MB
    Release Date: December 3, 2013
    Platforms: Windows 8.1/8/7/Vista/2008/2003/XP/2000 (both 32-bit and 64-bit compatible)
    License: Same as 7-Zip. Easy 7-Zip is an open source software. Most of the source code is under the GNU LGPL license. The unRAR code is under a mixed license: GNU LGPL + unRAR restrictions. You can use Easy 7-Zip on unlimited computers for personal and commercial purposes without any charges.

    For more information, please visit:
    http://www.e7z.org/

    --
    Sincerely,
    James Hoo

     

    Last edit: James Hoo 2013-12-05
    • Rich McGrew

      Rich McGrew - 2013-12-04

      Hello,

      First of all, thank you for doing this positive contribution, it is very good work, and please keep up the good work, but now I would like to ask a few questions please.

      Why do you need to fork 7-zip to do this? It is open source. You could contribute your improvements to the main 7-zip project and have it have the new features you have added. Can you release source code for Easy 7-zip please? I know this is not legally required, since the 7-zip code is under LGPL rather than GPL, and legally you are able to fork the code and make it proprietary (and in fact many existing proprietary programs have done this with 7-zip code in order to add support for .7z archives and LZMA/LZMA2 compression, which is perfectly good because the more people adopt the .7z format and use LZMA/LZMA2 compression rather than older .zip+Deflate or .rar, the better). But it would be nice if you shared your source code with the developers of the main 7-zip project.

      Or maybe you tried that already and they rejected your code submissions? I hope that is not what happened, open source projects should always accept code submissions that improve the programs. I would also like to wish you good wishes and good luck with your project, and I hope you can merge it into the main 7-zip project at some point and become one of the official developers of the main 7-zip project.

      Also one last question. You compiled it with Visual C++ 2008 rather than Visual C++ 6.0, as stated on your page. Now I have read that the latest alpha version of 7-zip only works on Windows 2000 and later, not on Windows 9x or Windows NT 4.0. Programs compiled in Visual C++ 2008 have the same OS requirement: Windows 2000 or later, so Visual C++ 2008 is a good choice for a compiler. (Visual C++ 2005 was the last version to support Windows 98 and ME, and Visual C++ 2010 removed support for Windows 2000 and only supports XP and later, so using Visual C++ 2008 is probably a good compromise, especially since 7-zip itself currently requires Windows 2000 or later.) But you do get to choose which Visual C++ runtime to link it to. You can link it to the Visual C++ 2008 runtime, which requires users to download and install the Visual C++ 2008 runtime (or you can have your installer take care of that). This is sometimes a bit messy because there are multiple service packs for each runtime and sometimes people get multiple versions of the same runtime installed. For instance, my computer has 2 different versions of the Visual C++ 2008 runtime installed: version 9.0.30729.17 and version 9.0.30729.6161. I don't know why this is. Anyway, you can also choose to link your program to the standard Visual C++ runtime DLL included with windows, MSVCRT.DLL, which I generally think is the best way to do things for most programs, as it avoids making unnecessary modifications to the Windows system. So I would like to ask if you have linked to MSVCRT.DLL, or if you linked to the Visual C++ 2008 runtime instead. And if you didn't link it to MSVCRT.DLL I would recommend doing that.

      As for your optimizations, could you specify the minimum processor requirements? 386? 486? Pentium? Pentium Pro with MMX? Pentium II? Pentium III with SSE? Something newer? Generally I think optimizing for speed is very good, but you should not include CPU optimizations that require newer hardware than Pentium III with SSE, because many people have CPUs from vendors other than Intel such as AMD processors, and newer additions besides MMX and SSE are not supported on all processors currently in widespread use. So the highest I'd be willing to go in terms of CPU requirements is Pentium III, since virtually all CPUs in use nowadays, whether Intel, AMD, or something else, support MMX and SSE. But newer instruction sets like SSE2 or SSE3 are not as widely supported. Anyway, I do agree with your general idea of optimizing for speed, I do that too when compiling software, and I generally target the Pentium III, at least when using GNU's GCC compiler. The reason I don't target an older processor is the SSE instructions included in Pentium III allow for much faster floating-point operations than the x87 coprocessor instruction set, so targeting Pentium III and using SSE for all floating-point operations leads to much faster floating-point performance and is supported on all modern hardware regardless of CPU vendor. So I'd urge you to use Pentium III as your CPU target, for the right balance of performance and compatibility. Using Pentium IV as a CPU target would cause it to not work on a lot of AMD Athlon/Duron/Sempron processors from prior to AMD64, also known as K7 processors, and many people, including me, have computers that still use K7 processors. The earlier K6 processors, however, are just as hard to find anyone still using as Pentium II or earlier are, so I would not worry about supporting them, as they are not fast enough to run Windows XP anyway, and are 90s era, very old. That's why Pentium III is the best architecture to target when compiling software for x86 computers, to take advantage of MMX and SSE instructions, the 2 sets that virtually everything supports.

      Anyway thanks for reading this, hope you take it all into consideration, good luck with your project, hope you can merge it back into the main 7-zip project and become a 7-zip developer. If they don't allow you to merge it back or join as a developer, then keep maintaining your fork, it shows a lot of promise. Personally though I will keep using the latest 7-zip alphas (currently 9.32 alpha), as I like to be on the bleeding edge of software, and yours is based on version 9.20, which is old and out of date (that's why a merge would be best, so your features could be incorporated into the newest alpha builds).

       
      • James Hoo

        James Hoo - 2013-12-05

        Hello Rich McGrew,

        Frankly speaking, I don't know how to compile the 7-Zip in VC6. Actually, I didn't research the VC6 compiling too much. And, it's easy to compile with VC2008. So I chose VC2008. However, the main 7-Zip project is compiled with VC6. That's why I haven't joined the main 7-zip project.

        Of course, the source code is open. You can download the code from the following link.
        http://www.e7z.org/easy7zip_src_0.1.zip

        I've updated my website. Anybody could download the code. Maybe Igor Pavlov will add the features to the main 7-Zip project if he's interested in the code.

        The Easy 7-Zip doesn't need Visual C++ 2008 run-time. As I compiled the project with static version of the run-time library (option "/MT"). However, it causes the output EXE or DLL is larger than option "/MD". But, it's acceptable.

        The optimizations is made by VC2008. I just chose optimization options "/O2 /Ob2 /Oi /Ot /GL" for compiler and "/OPT:REF /OPT:ICF /LTCG" for linker.

         
      • xieqidong

        xieqidong - 2013-12-05

        OMG, you wrote so much, thank you for those thoughts, it's positive to both sides.

         
  • Jason Liu

    Jason Liu - 2013-12-03

    Post ads?

     
    • James Hoo

      James Hoo - 2013-12-04

      Originally, I added a few features to 7-Zip for myself uses. I thought the modified program might be useful for others when I saw same requirements as me in this forum. So, I bought a domain and hosted it, made webpages, and released the program to everyone.

      Well, if the topic is not allowed here, could someone delete the topic? Thanks.

       

      Last edit: James Hoo 2013-12-04
      • xieqidong

        xieqidong - 2013-12-04

        No, don't delete, Easy 7-Zip is a good software, don't let one guy's words affect you.

         
  • xieqidong

    xieqidong - 2013-12-04

    Thanks guys, hope more people do that like you, make 7-zip spreading.

     
  • xieqidong

    xieqidong - 2013-12-04

    Thank you for your work, I like it, already added your website to my web favorites.

     
    • James Hoo

      James Hoo - 2013-12-05

      Thank you for your reply. Hope the program is useful to you.

       
  • xieqidong

    xieqidong - 2013-12-10

    it's a nice software, thank you for sharing.

     

    Last edit: xieqidong 2013-12-28
    • Anonymous

      Anonymous - 2013-12-18

      thank you James, super idea, I love it!

      For language of context menu, example german Version:

      Windows Registry Editor Version 5.00

      [HKEY_CURRENT_USER\Software\7-Zip]
      "Lang"="de"

       
      • xieqidong

        xieqidong - 2013-12-19

        Thank you.

         

        Last edit: xieqidong 2013-12-28
        • James Hoo

          James Hoo - 2013-12-21

          Yes, 7-Zip chooses language according to OS language automatically. Is this a bug?

           
          • xieqidong

            xieqidong - 2013-12-24

            Test again, my fault.

             

            Last edit: xieqidong 2013-12-28
  • Kolpotoru

    Kolpotoru - 2013-12-19

    Since easy7zip should run without Visual C++ 2008 runtime but the 64bit version dosn't run without installing Visual C++ 2008 runtime on xp 64. Please fix this.

     
    • James Hoo

      James Hoo - 2013-12-21

      Sorry, I forgot to change compilation option to /MT for x64. It will be fixed in next release.

       
    • James Hoo

      James Hoo - 2014-02-17

      Fixed in 0.1.2.

       
  • pha

    pha - 2013-12-21

    can you add this feature (like winrar)?

     

    Last edit: pha 2013-12-21
  • KHALID AL NAJJAR

    hi,
    thank's for the new release of easy 7-zip ,but it doesn't remember my choice when i check show password box...i hope you can fix this soon...thank's in advance.

    regards.

     
    • James Hoo

      James Hoo - 2014-02-17

      Fixed. Thanks for the information.

       
  • PIK

    PIK - 2013-12-25

    Ok for new functions intention, but VB2008 with -o2 make it no 1s faster than Igors 9.32 code ;-)

    With LZMA2, Max. with 64MB, 256bit, 4of4 threads and 100 MB dir with good packable files: 25,xx to 25,xx seconds. Samey...

     

    Last edit: PIK 2013-12-25
  • Nikkho

    Nikkho - 2013-12-26

    Hope Igor will release 9.32 source code soon so you could update the source base in Easy 7-Zip.

    Also probably compiling with Visual C++ 2013 will give a good performance boost, specially on x64 plattforms.

     
  • James Hoo

    James Hoo - 2014-02-17

    Minor update: Easy 7-Zip 0.1.2

    • Adds option "Delete source archive after extraction"
    • Adds option "Close 7-Zip after extraction"
    • Save option "Show password" on pop extracting dialog box

    Download:

    x86 and x64 in one:
    http://www.e7z.org/easy7zip_x86_x64.exe

    x86 only:
    http://www.e7z.org/easy7zip_x86.exe

    x64 only:
    http://www.e7z.org/easy7zip_x64.exe

    Source code:
    http://www.e7z.org/easy7zip_src_0.1.2.zip

    BTW, I haven't gotten in touch with Igor Pavlov. So I still have to use code 9.20. If Igor Pavlov sees this topic, you're welcome to use code in Easy 7-Zip.

     

    Last edit: James Hoo 2014-02-17
  • govindo

    govindo - 2014-02-25

    Plz give option to delete source after compressing.

     
1 2 > >> (Page 1 of 2)

Log in to post a comment.