Go Back   Winamp & Shoutcast Forums > Developer Center > NSIS Discussion

Reply
Thread Tools Search this Thread Display Modes
Old 13th December 2008, 07:00   #1
n_baua
Member
 
Join Date: Aug 2006
Posts: 86
Using CABARC.EXE (in background ) for large installer and show progressbar.

Hello,

I want to create a large(rather huge) installer.
I have gone through the "CabSetup.dll" post and found a suitable hint, however this time I have the following requirements.

1. I am planning to use a DVD(4.5-5GB) and my files will be distributed using a single DVD.
2. I have created .cab files for all dependent files and want to extract these files using "cabarc.exe" from microsoft.
2a. While extracting this i want the user to see a nice progressbar (see attachment).
2b. Want to delete the cab files post extraction
2c. see the error(if any) of "cabarc.exe" stright on the screen.

Can you please suggest, solution for these?
I use ModernUI.

NBaua
Attached Images
File Type: jpg custom_page.jpg (21.6 KB, 310 views)

Last edited by n_baua; 13th December 2008 at 09:05.
n_baua is offline   Reply With Quote
Old 13th December 2008, 10:14   #2
Animaether
Major Dude
 
Join Date: Jun 2001
Posts: 1,173
Create a custom page using NSDialogs, place two progressbars on it - you can control these further with nsdialogs.

Delete the CAB files? They're on the DVD, no? If you are copying them to the HDD first, then Delete <file> should be fine. Use ExecWait so that your NSIS script code only continues after cabarc.exe is done.

ExecWait also takes a user variable ($0, etc.) to get the output from the application launched. The output is typically an error code, so you may have to check what error codes cabarc.exe uses for various error messages and display them in a more user-friendly manner. That information may be in the CAB SDK, but I wouldn't know
Alternatively, use one of the plugins that can log the information you'd otherwise see in STDOUT (what you see in a DOS/Console window) to a file, and read from that. E.g. nsExec, ExecDos
Animaether is offline   Reply With Quote
Old 13th December 2008, 13:30   #3
n_baua
Member
 
Join Date: Aug 2006
Posts: 86
Hi Animaether,

Thanks for your reply,

Mean while you posted here, I updated my code to nsExec.
It did wait for the CABARC.exe and i get a nice log too.

However I do not have expertise with the NSDialogs yet.
Can you show me some sample script, which I can easily incorporate in my code?

Thanks pal.

-NBaua

PS - --
Yes, I managed to run the cab files from DVD itself.
I was under impression of copying them first, thanks again for bringing it to my notice once again.
n_baua is offline   Reply With Quote
Old 13th December 2008, 15:36   #4
Animaether
Major Dude
 
Join Date: Jun 2001
Posts: 1,173
hmm.. I'd give you example code, except it looks like nsdialogs crashes on this machine.

Edit: Ah, whoops. The online docs forgot '/NOUNLOAD', so my template copy/paste crashed.

In addition, the progress bar is not officially in yet - looks like kichik is working on that.

Think you'd have to use InstallOptionsEx and crazy code. hrm. I swear there was a better way to do this.. or using LoadingBar/Nxs/etc.

Last edited by Animaether; 13th December 2008 at 15:56.
Animaether is offline   Reply With Quote
Old 13th December 2008, 16:23   #5
kichik
M.I.A.
[NSIS Dev, Mod]
 
kichik's Avatar
 
Join Date: Oct 2001
Location: Israel
Posts: 11,343
The online docs are for the next version. I was actually planning on having all the versions there and having Docs point to the latest version, rather than the future version. I also want to add some kind of watermarking on everything there so people know it's for a specific version. I already have all the documentation compiled as HTML, along with all the examples for all the versions since 2.07. I just need to get to implementing the rest and uploading it. If someone wants to help with that, it'd be great.

NSIS FAQ | NSIS Home Page | Donate $
"I hear and I forget. I see and I remember. I do and I understand." -- Confucius
kichik is offline   Reply With Quote
Old 1st December 2009, 06:04   #6
renue
Junior Member
 
Join Date: Dec 2009
Posts: 7
Add folder to Cab

HI All,

I am creating a cab component for My ActiveX Control. In that cab component I am adding few installer that needs to run on the client browser at the time of requesting for ActiveX control. For One installer I need Complete folder in the Cab. Could some one help me out in adding a complete folder to Cab. I tried using Cabarc tool. But i could Not find any solution.

thanks in advance,
Renu
renue is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Developer Center > NSIS Discussion

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