Archive: Display generated text file in MUI standard dialog


Display generated text file in MUI standard dialog
Hi to all NSIS people,

I am quite familiar with NSIS. For a setup that checks a lot of system information, I want to include a PAGE that shows the results of system analysis done on target computer before !insertmacro MUI_PAGE_INSTFILES gets done. This amount of text can be large, so it needs to be "vertically scrollable".

The only MUI standard page that uses such a "textbox" is the license page - MUI_PAGE_LICENSE text/rtf_file. But it includes a local license file at compile time.

First way would be to use this plugin found in NSIS wiki: "External_License_File" - to show a generated license textfile located at target system.

The second way is to use a MUI_PAGE_CUSTOMFUNCTION_SHOW function that uses FindWindow, GetDlgItem, SendMessage to modify text at runtime in the RichEdit control of the license dialog.

The third way is to write to proper INI section of license dialog (iospecial.ini???) in a MUI_PAGE_CUSTOMFUNCTION_PRE function to put the text in the "state" value of text control.


What is the best solution for my need or does someone has a better idea that looks like a built-in way of doing such things?

Thanks in advance!


The easiest solution would be the first method - the license plug-in. You could also go with a custom page. There's a very nice looking example available, although I don't know if the code is available.


Thanks Kichik,

this is funny. I already use the plugin "HwInfo" from 3DNA people to get system information. But obviously I did not found their way to show the results. But it seems good moderators do...

Now I decided to use the main idea of the plugin without using the system plugin:

FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $R0 $0 1000 #rich edit control of license dialog
SendMessage $R0 ${WM_SETTEXT} 0 "STR:my text separated by $\n$\r..."

And I keep the beautiful visualization you showed me in my mind.

best regards