Since PAL looks for Data\settings to determine whether or not to copy over the DefaultData, it can clobber existing data if that folder does not exist (because the old launcher did not use it).
In addition, if the user installs a PAL portable app and then sticks their own profile in without launching it, PAL will corrupt and/or wipe it with DefaultData.
I suggest a launcher INI entry be added for a directory/file to check for, instead of Data\settings, to determine if DefaultData needs to be copied. This would be whatever the author chose for the app's profile folder (Data\profile for Google Chrome Portable, Data\<APPNAMEPORTABLE> for others, maybe).
All apps that document the ability to copy your own settings in state that you must run the app at least once first (to setup the proper directory structures, etc), so that's not really a big deal.
The first bit can be worked around with some simple installer custom code to create Data\settings. Anytime you're upgrading an app from a custom launcher to PAL you're likely going to need custom code anyway, so I'm not sure if we really even need to worry about this bug.
Sometimes, the impossible can become possible, if you're awesome!
Seems to me it'd be better to check for ${FileExists} Data\*.*, which would then be checking that Data exists and is not empty.
I am a Christian and a developer and moderator here.
“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1
The installer creates Data and will create an INI file within it if there is an EULA the user must agree to. Some installers (BPBible) place files within Data on install if the user optionally selects them.
Sometimes, the impossible can become possible, if you're awesome!
I was just analysing it before making the change and came across the PortableApps.comInstaller subdirectory which I had forgotten about. So I won't be changing it.
I am a Christian and a developer and moderator here.
“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1
Oh well. At least I think some mention should be made in the manual, I wiped out my work Chrome profile by accident. My backup was old, but thank goodness for Chrome Sync.
Signature automatically removed for being too awesome.
Why would you be using a launcher and installer you are testing on your production copy of the app? Backups and test installs, my friend.
Sometimes, the impossible can become possible, if you're awesome!