wqweto / VszLib

7-zip VB6 Helper
GNU Lesser General Public License v3.0
42 stars 23 forks source link

7-zip dll not found #6

Open asad11rer opened 9 months ago

asad11rer commented 9 months ago

I simply run the following codes, but at 5th line it is generating this error (7-zip dll not found):

1 With New cVszArchive 2 .AddFile App.Path & "\Form1.frm" 3 .AddFile App.Path & "\Project1.vbp" 4 .Parameter("x") = 3 '-- CompressionLevel = Fast 5 .CompressArchive (App.Path & "\test.7z") 6 End With7 MsgBox "test.7z created ok", vbExclamation

Why it's and what is the solution?

wqweto commented 9 months ago

README says

This is a VB6 helper component that makes using original 7z.dll in your VB6 projects possible.

. . . and has a link to 7-zip SDK.

It also says

Note that 7za.dll (from 7-zip extras) can be used to compress/extract only 7z archives (no zip support). The even smaller 7zxa.dll (172KB) can be used to only extract 7z archives.

asad11rer commented 9 months ago

I just registered 7-zip.dll with the command (regsvr32 7-zip.dll) and then it started working.

But, when I created a distributable package using "Package & Development Wizard" and run the Project1.exe, it again started generating this error (7-zip dll not found).

Any solution or commend please?

wqweto commented 9 months ago

You don't need to register 7z.dll as it's not an ActiveX DLL and there is no 7-zip.dll at play here (don't understand what is this DLL).

Just copy 7z.dll next to your application .exe file or put it in a subfolder and use Init method to specify full 7z.dll filename as explained in the README section for API documentation.

Note that you might need earlier version of 7z.dll as latest versions have troubles working with VszLib. The one I'm using in my projects is version 9.22

asad11rer commented 9 months ago

I am really thankful for the guidance.

I just used the 7z.dll from version 9.22 and now it is working.

7z.dll from the latest version causes problem sometime.