You are here

PAL 2.1 released, 2.2 underway

Chris Morgan's picture
Submitted by Chris Morgan on May 18, 2011 - 9:21pm

The PortableApps.com Launcher 2.1 has been released! Somehow it managed to take ten and a half months after 2.0 before 2.1 was released (five and a half since Beta 2), but it's finally here. Now on to 2.2.

I would again like to remind developers of two things for using PAL 2.1:

Both of these will be integrated significantly more into the PortableApps.com Development Toolkit in a while.

I've started on 2.2 which (again) I plan on being just a month or two, et cetera. (So expect it to be released in six to sixty months!) I've already implemented the three easiest features on my roadmap;

  1. a PostExec hook (requested informally by a couple of people, can't remember who),
  2. [Launch]:RunBeforeN and [Launch]:RunAfterN (requested by Dagenham) and
  3. [LanguageFile]:TrimLeft (I've seen a need for it in a couple of apps).

See the hg log for details, as usual. Or the 2.2 release notes (under development, of course).

Here are the remaining items on my 2.2 list in an extremely vague semblance of order:

  • Update UAC plugin from 0.2.2b to 0.2.2d or 0.2.3.
  • 64-bit environment variable
  • Implement [Language]:SaveLanguage=true to simulate a [FileWriteN] section and [LanguageFile] on AppNamePortableSettings.ini/[AppNamePortableSettings]:Language
  • Live mode doesn't play nicely with WaitForProgram=false. Also check other things using Post.
  • Make sure ForEachINIPair works on UTF-16LE files
  • For Mark Sikkema to finish if he gets to it: *.??? incorrectly matching foo.xy on XP
  • Possibly 2.3: switch "starting"/"stopping" run state checks from using INI to using mutex (see last note in 2.1 release notes)
  • Possibly 2.3: fix environment in admin; [AdminKeepEnvironment] 1=varname etc. using UAC plugin IPC or RuntimeData; PortableApps.com* (and maybe TEMP if done by Platform?) vars by default.

Comments

I hope I'm not being too intrusive.
I was testing my implementation of SaveLanguage when I realized that most of my portable apps store their language settings in the Registry, with the Launcher using the same config for both [LanguageFile] and [FileWrite]. So, I went further and generalized it by adding a SaveAs entry on [LanguageFile].

These changes shorten

[Language]
Base=%PortableApps.comLocaleGlibc%

[LanguageFile]
Type=INI
File=%PAL:DataDir%\settings\QuasselPortableSettings.ini
Section=QuasselPortableSettings
Key=Language

[FileWrite1]
Type=INI
File=%PAL:DataDir%\settings\QuasselPortableSettings.ini
Section=QuasselPortableSettings
Key=Language
Value=%PAL:LanguageCustom%

to

[Language]
Base=%PortableApps.comLocaleGlibc%
SaveLanguage=true

and

[LanguageFile]
Type=INI
File=%PAL:DataDir%\settings\ClementinePortable.reg
Section=HKEY_CURRENT_USER\Software\Clementine\Clementine\General
Key='"Language"'

[FileWrite2]
Type=INI
File=%PAL:DataDir%\settings\ClementinePortable.reg
Section=HKEY_CURRENT_USER\Software\Clementine\Clementine\General
Key='"Language"'
Value='"%PAL:LanguageCustom%"'

to

[LanguageFile]
Type=INI
File=%PAL:DataDir%\settings\ClementinePortable.reg
Section=HKEY_CURRENT_USER\Software\Clementine\Clementine\General
Key='"Language"'
SaveAs='"%PAL:LanguageCustom%"'

(Real examples)
Mercurial changesets (also Color-Coded for Your Convenience)
EDIT: I only tested with INI files, but it should work for the others too.

Previously known as kAlug.