According to weidu documentation ACTION_READLN works like this
Waits for the user to provided an enter-terminated string and store it in variable. Said string will be stored and re-used at reinstall time. See the READLN tutorial.
The bolded part doesn't seem to work unless I missed something. Here is a test code:
BACKUP ~test/backup~
AUTHOR ~K4thos~
BEGIN ~component 1~
BEGIN ~component 2~
ACTION_IF NOT VARIABLE_IS_SET var BEGIN
PRINT ~var not set~
END
OUTER_WHILE (NOT VARIABLE_IS_SET var) OR (NOT IS_AN_INT var) OR (var < 1) BEGIN
PRINT ~Type test~
ACTION_READLN var
END
PRINT ~var set to %var%~
Repo steps:
1. Install component 1
2. Install component 2 (you will see "var not set" message and will be asked to type in an iteger that will be stored via ACTION_READLN into 'var' variable)
3. Run the installer again and this time choose to re-install component 1
4. When the second component shows up press either 'q' or 'n'
The result is that the second component once again prints "var not set" and asks for typing in variable via ACTION_READLN even though it should not be needed since the component is reinstalled automatically by weidu.
I've checked READLN.1 file in backup directory and it has some nonsense rather than variable name:
„•¦ľ #666@
READLN.1.TEXT file on the other hand has correct value stored:
~~~~~666~~~~~
Any idea what is wrong in my test code? If the function is not meant to remember variable name than how else the value could be used during reinstallation?