Archive: Current CVS breaks my installer


Current CVS breaks my installer
Yesterday I had the current CVS everything worked as well as it ever did. Today newest CVS won't let me compile:
Compiler Output:
Function: "AuthChoiceCustom"
!insertmacro: MUI_HEADER_TEXT
Usage: GetDlgItem $(user_var: handle output) dialog item_id
Error in macro MUI_HEADER_TEXT on macroline 6

What it was looking at (some lines wrapped):
Function AuthChoiceCustom
!insertmacro MUI_HEADER_TEXT "$(TITLE_AuthChoice)" "$(SUBTITLE_AuthChoice)"
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "AuthChoice.ini"
FunctionEnd

I don't use GetDlgItem explicitly, I don't change fonts or anything crazy like that. I checked the docs, InstallOptions docs look the same.. what do I need to do?


Are you sure you've upgraded everything and not just makensis?


I used the NSIS Update Utility with "Download the latest development files from CVS, clean copy"


Can you attach your script?


It is a couple thousand lines broken out into seven .nsi files what exactly do you need? Everything to compile it? Just the main .nsi and the one that had the error? I'll assume you only need those two. If you need more let me know, once you reply I'd like to remove the script from the site..


Those two are enough. Move the includes of your files below the MUI_LANGUAGE macro. That specific macro uses $MUI_TEMP1 which is only defined when you insert the MUI_LANGUAGe macro.


Kichik they don't pay you enough. You should tell them I said that, especially if they do performance reviews where you work. Just tell them to ask the forum about your performance.

That worked obviously, now I have two questions? Why did that ever work before, because it seems obvious now that it shouldn't have. And, if you find the time in your insane schedule could you recompile makensis at 8192 one last time with these changes and I swear I won't update again before I have my own C compiler installed. Just upload it in the request thread that afrow started no need to x-thread things.


It worked before because I started using the new user variables for the Modern UI, instead of static variables.

I'll change this behavior and declare the temp variables used in user macro's when inserting the file, so it won't break up scripts :)


I don't get paid for this. NSIS is open source and I'm working on it in my own free time.

It worked before because only recently (yesterday :)) user defined variables got into the MUI. Up until then non of the macros you've used in those included files needed something defined by the MUI insert macro (called by MUI_LANGUAGE too).

A compiled version of today's CVS was uploaded to the same place.