Old 1st December 2011, 17:52   #1
mbnoimi
Junior Member
 
Join Date: Aug 2008
Posts: 7
Question Extract compressed files by 7z.dll

Hi all,

I want to extract a specific password protected *.7z file by using 7z.dll so I've to use CallInstDLL because I couldn't find any NSIS plugin.

I tried to use:
code:
Push "x"
Push "-t7z"
Push "files.7z"
Push "-psecret"
CallInstDLL "$INSTDIR\7z.dll" "IInArchive"



but it didn't work because of these two missing points:
  1. I don't know what's the needed 7zip function to make extract process
  2. I'm not sure what if I called CallInstDLL correctly or it?

Could you please help me?

I read these resources but they didn't help me here:
mbnoimi is offline   Reply With Quote
Old 6th December 2011, 10:48   #2
mbnoimi
Junior Member
 
Join Date: Aug 2008
Posts: 7
Guys could you please help me here

I'm googling since two days but I failed to find any result.
mbnoimi is offline   Reply With Quote
Old 6th December 2011, 10:54   #3
Afrow UK
Moderator
 
Afrow UK's Avatar
 
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
Either use the Nsis7z plug-in or execute 7za.exe using ExecDos/nsExec. CallInstDLL isn't for calling non NSIS DLL files; it's the old way to call plug-ins (before we had the plug-in call syntax). If you must use 7z.dll you have to call it using the System plug-in.

Stu
Afrow UK is offline   Reply With Quote
Old 7th December 2011, 16:24   #4
Yathosho
Forum King
 
Yathosho's Avatar
 
Join Date: Jan 2002
Location: AT-DE
Posts: 3,366
Quote:
Originally Posted by Afrow UK View Post
Either use the Nsis7z plug-in or execute 7za.exe using ExecDos/nsExec
unfortunately, that plugin still doesn't support any advanced 7-zip options such as extracting password protected files
Yathosho is offline   Reply With Quote
Old 10th December 2011, 15:00   #5
mbnoimi
Junior Member
 
Join Date: Aug 2008
Posts: 7
Quote:
Originally Posted by Afrow UK View Post
CallInstDLL isn't for calling non NSIS DLL files; it's the old way to call plug-ins (before we had the plug-in call syntax).
In there any way for calling DLL files (other than nsis pluings) by NSIS?
mbnoimi is offline   Reply With Quote
Old 6th December 2011, 10:54   #6
MSG
Major Dude
 
Join Date: Oct 2006
Posts: 1,892
I've no idea what CallInstDLL is, or what its syntax is supposed to be.

To unpack 7z files, you can use 7za.exe. It's legal to redistribute, without giving credit, for both commercial and non-profit applications.

Note however that hackers will always be able to extract the password from your installer. Either they replace the exe/dll you're calling, or they just extract the script itself.
MSG is offline   Reply With Quote
Old 10th December 2011, 20:30   #7
LoRd_MuldeR
Major Dude
 
LoRd_MuldeR's Avatar
 
Join Date: Sep 2005
Location: Somewhere over the Slaughterhouse
Posts: 797
The "System" plug-in is for exactly that purpose. It's part of the official NSIS distribution.

My Plugins: StdUtils | NSISList | CPUFeatures | ExecTimeout | KillProc
My source of inspiration: http://youtu.be/lCwY4_0W1YI
LoRd_MuldeR is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Developer Center > NSIS Discussion

Tags
*.7z, .7z, 7-zip, callinstdll, dll

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump