Archive: More to say... (again)


More to say... (again)
Bug: MakeNSISw.exe - When I "update >>" a symbol, and when I "delete" or "clear" it, it continues with enabled buttons "Edit <<" and "Delete", even if don't have any symbol defined.

Question: Have a way to define a value of a variable without pointing to the variable, like !define MyDefine $MyVar but just getting the variable text from the variable and turning it into a constant?

Question: Have a way to put the string "${StrStr}" without converting it to a constant, and returning the text constant when having something defined with "StrStr"?


Question: Is it possible to execute functions on compile-time? if not, could u include a function like .onCompileStart and .onCompileEnd, or something like that?

my problem is, that i want the installer to set some strings automatically at compile-time, by reading out the filenames in directories and other things.
but i dont know any way to do so. i tried it with a macro, but it always says, that the commands are valid outside a section or function :eek: .

yes, i could harcode those strings, but i don't want to :D
and it would be uncomfortable.

possible Bug: '!echo "123"' shows '123 (X:\y\z.nsi:0)' where '2' is the number of the line containing the '!echo' command. if it's not a bug, ok, but i don't like it, coz it has nothing to do with copy-right messages or similar :D


Only that MakeNSISW thing is a bug.

Defines are parsed on compile-time. It has nothing to do with run-time variables. You can just declare a variable and use StrCpy to set it's value to the value of another variable.

It is not possible to add your own commands. Support for compiler plug-ins will be available in the future (probably NSIS 2.1).

Executing run-time commands on compile-time is not possible, because the compiler and installer VM are completely different things. You can use header files or let an application create them for you (using !system).

It is normal that the compiler shows the filename and line for echo, warning and error.


hmm, ok, i understand.
but it would be a very interesting feature for nsis, to execute script-code at compiletime.

and what do u mean should i do with header-files? i want to set the description of some sections dynamicaly by the content of some folders, only existing on compile-time.
is this possible in any way?

and i said already, that it isn't very comfortable to hardcode these descriptions.


You can !include a file generated by an application executed using !system.