Archive: about License page


about License page
I use License page and Directory page. But I want to mix these pages into a custom page and user can view the license and choose install directory in a page . How can I do it?


It's not easy, but it's possible.
You'd have to make a custom page with InstallOptions (see Contrib\InstallOptions).

-Stu


I'm trying the same.

I built the custom page but I don't know how to show the license file in the text field.

Any idea?

Attached ini file for installoptions plugin.

Thanks!


What i did was make the page in NIS edit and copied the contents of the file in to the state (or text) field so that it shows up when the custom page is loaded.


External license file sample http://nsis.sourceforge.net/wiki/External_License_file


Ey Jason... Cna you post the code to do it? I just need to do that.

Thanks!!!


Here you go, deroel. I have put an explanation in the ini mockup file.


Please note that InstallOptions ini string has 8k limit (including \r\n).


#define BUFFER_SIZE 8192 // 8kb of mem is max char count in multiedit
static char szResult[BUFFER_SIZE];
return GetPrivateProfileString(pszAppName, lpKeyName, "", szResult, BUFFER_SIZE, pszFilename);

"\r", "\n", "\t" are counted as a single character in this case. First the plugin doubles the maximum memory (16KB), puts the string there, converts the escape characters to be the 1 character form and re-allocates to be 8KB long. The inverse operation does the inverse except to truncate the length to 8KB, so expect the returns of "Text" controls to have double the capacity than normal.


I don't undertand it, but I have that problem.

My string is more than 8k (15kb exactly) so the text is truncate.

Any idea to fix it without recompile the plugin myself?


Nop.


I dont have a compiler to use right now...

:cry:

Can I use dev c++?

what value I should write?

Thanks deguix!!!


First, change InstallOptions define "BUFFER_SIZE" to the size desired. Then, I recommend doing the NSIS compilation: use Visual C++ Toolkit + Platform SDK + Python + SCons + NSIS Source (download the "Platform Independent File") and compile NSIS.


I downloaded everything and install the programs. But I cannot compile.

Can you build a dll with that minor change?(Allow 15k text as text field) I see that you are working on the project and you will have everything already set to make it work.

Anyway Thanks for your help.


Ok, Im trying by myself

Thanks


Unsuccessfully. Deguix, can you help me??? Pleaseeee

Bye


Recompilled but not tested with x4 buffer.
But I still guess that my script is better way - applicable to any size and to any supported by richedit control text file formats :)


Tested and working. Thanks!!!

BTW, the link to external license that you post doesn't work.

THANKS!!!!


I have tested link itself - it's alive, but wiki pages open so slowly last time, sometimes (like now) it not works at all.. (Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server.) :(
And script from wiki must be modified for custom installer page - you should replace "1000" in the "GetDlgItem $2 $2 1000" with your page text control ID (VS Spy++ can give it I guess).


I dont have that program(VS Spy++), but I got winspector.

Anyway, my .ini file has 10 fields and the text field is number 2. My guess is that the id is 1002 but it doesn't work.

To create the custom page I modified this exe file from Crontib\Ui's

"modern_headerbmp.exe"