Archive: A simple question ...


A simple question ...
Hi, i've noted that on the top of the install progress bar, NSIS show the name of every file that is being extracted and the porcentage, i would like to hide this and display something like 'Copying the files...' or another thing, how would i do it?


Use SetDetailsPrint and DetailPrint. See the Users Manual for details.


Sorry about the bumping of the thread, but I have the same question, and it seems nothing I do with SetDetailsPrint and DetailPrint changes the text just above the progress bar.

I have tried putting SetDetailsPrint none, I have tried SetDetailsPrint listonly and SetDetailsPrint textonly, each time putting this in every section(multiple component sections).

I have at the same time had DetailPrint "Extracting and installing files... Please wait." in every section.

None of this changes the text directly above the progress bar, in fact it doesn't seem to have any impact at all, except perhaps on the details window, which I BTW want to disable by using ShowInstDetails nevershow(that last part works btw, so I don't have a problem with that. But I have tried to change the progressbar text both with and without showing install details).


So could some kind person please give a bonehead an example of how to change the progress bar text from Extract: MyFile.txt to Extracting and installing files... Please wait. ?

I'm using the modern user interface, if that's of any importance.

Thanks. :)


Are you referring to the area defined in the bitmap in the following thread? I had that problem too, still have. They said it's not a bug.

Thread


No, I don't think so - all I want to do is change the text directly above the progress bar. However, it may be that the thread you linked to gave me an idea of what I'm doing wrong anyway.

Thanks(so far).

[edit] Yup - thank you, it turned out there was one small thing I was missing in my script, but the thread you linked to gave me an example, and now it works. :) Strange thing is that I have actually looked at that thread before when I was searching, but then I didn't think it had anything to do with my "problem". [/edit]


Ok, =).


-Actually, it turns out I do have the same problem as you described in that thread.

I'm not using NSISdl though.

When I choose to install all the components in my installer(all checkboxes checked), the text above the progress bar is now showing the text I wanted it to as it progresses; something like "Extracting and installing [file].... Please wait".

BUT - - when it reaches a certain component, the progressbar text stops refreshing, and is showing the text that pertained to the former section.

I know this is what happens, 'cause at this point my installer does what I want it to(works).

I have ten components; ten separate sections you can choose to install(and also uninstall when it comes to that).

Each component is a little different, because they manipulate a different number of files.

So I noticed that when one component which is only supposed to manipulate two files was executed(this is when I choose to install all the components), it "looked like" it was manipulating a lot of files. But what was really happening was that the progress bar text hadn't jumped to this section, but was "hanging" on the former section(which manipulates a lot of files), which was what confused me.

-If I choose to ONLY install the component that seemed to manipulate several files(and is only supposed to manipulate two files), it really does only manipulate the two files. So I know it's not something else wrong.

-So, if it would work for me perhaps - what command do I use to "send a paint message to the window"?


I haven't tried it yet, but the following may resolve it.

Try creating an empty non-readable section as the last section and in it use setdetailprint with a, " ", (space) as the parameter. This may at least empty the field. Otherwise it's a call into the system.dll to refresh the window.


What you do is the following:
first: SetDetailsPrint none

Then whenever you want to set the text to something do the following:

SetDetailsPrint textonly
DetailPrint "I'm now doing somehting"
SetDetailsPrint none

That's how I'm doing it.

grtz

Remco