Archive: wrapped install questions


wrapped install questions
Hello,
Thanks to goldy1064 I was able to use 2 nsis pages to create one program that calls another so that I can do a silent versus custom install. However, I am having problems with hiding the banner from the wrapped installer.

I have tried using both HideWindow and Banner::show /NOUNLOAD
in my .oninit function (which is located at the bottom of the page).

If I try to move my .oninit function to the top of the page, as suggested by kichik in another thread, I get an error that says this:

Usage: ReadRegStr $(user_var: output) rootkey subkey entry
root_key=(HKCR|HKLM|HKCU|HKU|HKCC|HKDD|HKPD|SHCTX)

Because I am reading registry strings during my .oninit.

What is the problem? Is there anyway around this?

Jack


ReadRegStr $R0 HKLM "SOFTWARE\Segue Software Inc\SilkTest\Installed" "Directory1"
works in .onInit in my script.


Because I am reading registry strings during my .oninit.

What is the problem? Is there anyway around this?
Show us what you are doing, someone might see the problem.

Don


Function .onInit
Banner::show /NOUNLOAD
ReadRegStr $Py_REGVALUE HKLM SOFTWARE\Py\Py\1.234\InstallPath\InstallGroup ""
StrCmp $Py_REGVALUE "program 1.234" 0 +2
sectionsetflags ${program} 0
StrCmp [some other stuff]
...
FunctionEnd

Works fine at the bottom of the page but gives me that error at the top.

jack

i think i may have found the solution... one sec


I thought it may have been because I hadn't declared the variable

Py_REGVALUE yet (probably what was giving me the error)

But when I put the global variable declaration in .onInit
I get an error because the section ${program} has not been defined yet.


Then both declare Py_REGVALUE and define program on the top of the script.


thats the way it is now, first I have the variables defined, then all the sections, then the .onInit which uses both the variables and the sections.

The banner still pops up even when I put Banner::show /NOUNLOAD in .onInit.

Sorry if I am going around in circles here.


And where is the !define? If you get an error for ${program}, you didn't !define it.


program is the name of one of my sections. Does this make sense?


Well, ${program} makes sense now, but the rest got me completely confused. Why do you use Banner::show to hide a banner? What banner are you trying to hide exactly?

.onInit should be defined below the "program" section so ${program} will be defined.


I am trying to hide the "please wait while setup initiliazes..." banner. I want to hide it because it is already being shown by the "wrapper" installer.

I know this may be getting picky, but I want this to be pretty seamless and perfect.


And I thought that according to the documentation, if you wrote banner:show /NOUNLOAD it would show no banner at all.

I have also tried banner:show /NOLOAD, banner:destroy /NOLOAD, banner:destroy /NOUNLOAD, and none of them seem to do to the trick


The Banner plug-in has nothing to do with that dialog. You can't use the plug-in to hide it.

To avoid the "verifying installer" dialog, use CRCCheck off in the internal installer. To avoid the "unpacking data" dialog, use ReserveFile on the top of the script for every file and plug-in used in .onInit. When using the MUI, also use MUI_RESERVEFILE_INSTALLOPTIONS and MUI_RESERVEFILE_LANGDLL as explained in section 6 of the MUI Readme.


Thank you. I will look at these things.


CRCcheck off worked.


CRCcheck off worked.

I assume that this just means that it allows the user to run a potentially invalid installer.


Yes, but as long as it's already checked by the outer installer, it's just a double check.


cool, and thanks :)