I've been meaning to submit this bug report for a long time, so my apologies. It is present in the current 4.4 beta and goes back a long way, to at least 4.2 and maybe even earlier.
When creating a skin package, we have an option in the Packager to identify a list of variables files, like so: When the skin is installed over an existing installation, the installer is supposed to merge the variables together to preserve the end user's configuration. However, I have noticed that if the "source" variables file includes a variable that is set to nothing, the merge operation sets the target file's variable to nothing instead of preserving it. In other words, if the source file being installed has a variable with a value, the target file's value is preserved properly; but if the source has no value, the target value is blanked.
The attached skin illustrates this issue. Please ignore the function of this skin, the important bit to look at is the FirstRunTime variable in the VariablesBug.inc include file, and what happens after an installation. The "source" version of this file (in one in the package), looks like this:
Code: Select all
[Variables]
IsRunOnce=0
FirstRunTime=
However, because the "source" file has a blank FirstRunTime value, this doesn't work as expected because while IsRunOnce is preserved, FirstRunTime is not. What you get is this: There are cases where the skin developer can't know what value a variable should be set to set ahead of time for things are are user-specific, so a blank is a reasonable default option. Unfortunately, due to this glitch in the installer, it currently isn't working properly.
A skin illustrating this issue is attached.