You are here

[Outdated] PortableApps.com Launcher 2.1 Release Candidate 1

46 posts / 0 new
Last post
Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
[Outdated] PortableApps.com Launcher 2.1 Release Candidate 1

This has been released.

The PortableApps.com Launcher is better than ever - now we're up to 2.1 Release Candidate 1 and the length of the release notes amazes me. Look at the 2.1 release notes to see what's new and what's changed.

Download the PortableApps.com Launcher 2.1 Release Candidate 1 [916KB download / 2.6MB installed]
(MD5: 98c430cb494f01498d40b40bd25fdc5a)

Release Notes:

  • 2.1 Release Candidate 1 (2011-05-09): assorted miscellany, boot-polish and shoelace-tying. See hg log for more info.
  • 2.1 Beta 2 (2010-12-03): various fixes and documentation and translation updates, also fixed Data to App move back when a handle is open (which was an issue with Opera). See hg log for more info.
  • 2.1 Beta 1 (2010-10-02): no special release notes, see 2.1 release notes

Manual: development (will always contain the dev docs, as I update it whenever I update the manual - unfortunately the SourceForge hg server is restricted, a changegroup hook there failed to connect to my server to trigger the update). stable (currently 2.0).

App template: use Development Toolkit (it contains the current state of the template from which the standalone app template will be updated for the final release).

Ambimind
Offline
Last seen: 12 years 6 months ago
Joined: 2010-10-20 18:39
Super!

I just used beta1 to make "IHMC CmapTools" portable - the new moving dir variables work perfectly, thanks!

I looking forward to 2.2: DLL registration/server support and I'm really hoping for a method of dealing with services and drivers.

scriptdaemon
Offline
Last seen: 4 years 3 months ago
Developer
Joined: 2008-10-10 17:40
compile-force doesn't work.

Or at least, it doesn't fix the language switching problems with admin under Windows Vista/7.

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
Yep

I put it in in the hope it would fix that and an issue prapper was having, but as we tested it turned out it didn't fix the environment thing (but it did fix the other); I still need to think more about how we're best to solve that for 2.2. I've got a couple of ideas kicking around in my mind and I'll need to try them out.

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

scriptdaemon
Offline
Last seen: 4 years 3 months ago
Developer
Joined: 2008-10-10 17:40
More testing.

Using XP 32-bit with Admin:

Setting 'ProgramExecutable64=Speccy\Speccy64.exe' makes Speccy Portable no longer run. I didn't do any debugging yet, but the splash screen shows then nothing happens.

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
Argh...

I can't believe it. (Well, I can, actually.) I muddled the value of the IsWow64Process Shock

Try this!

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

scriptdaemon
Offline
Last seen: 4 years 3 months ago
Developer
Joined: 2008-10-10 17:40
Alright, that works.

Alright, that works.

Rapscallion
Offline
Last seen: 3 years 2 months ago
Joined: 2008-11-18 16:19
I know I have not been in

I know I have not been in active development of portable apps, and I have only just started using PAL this weekend. So please don't take this as a negative criticism, but more of a question/comment. With that said...

Would it be better to change the values of [Launch]:DirectoryMoveOK? Currently the changelog states that the values are "yes if it works or no if it doesn’t work at all". I am thinking it may be better to have the values as true|false, instead of yes|no for consistency.

Just my 2 cents, and thanks for all the hard work. I am looking forward to digging in and exploring what I can make portable with PAL.

Edit: I just noticed that there is a third possible value "warn" which happens to be the default. Possibly this is the reason for not going with true|false?

It amazes me that on the internet you can be anything you want, and yet so many people still choose to be idiots.

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
yes/no/warn

Indeed; when it's a tristate field I prefer not to have "not there" as a magic value.

And incidentally, I'm far more inclined to change true/false to yes/no than the other way round. CleanTEMP=yes, WaitForProgram=no... it makes more sense. I just don't feel like changing it right through at the moment (it would only be a programmer's-memory issue; the Generator can easily go through and update all trues and falses to yesses and noes, and there's value-error-checking in in this release for such values). For 2.2 or 2.3 I might change true/false to yes/no; I don't know yet.

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

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
2.1 Beta 2

I've released 2.1 Beta 2 now. This is what I plan on being 2.1, I just need the Data-to-App-moving-issue-when-a-handle-is-open fix verified (the one that was causing trouble with Opera losing the profile when a downloaded file was opened rather than saved and left open when Opera was closed).

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

scriptdaemon
Offline
Last seen: 4 years 3 months ago
Developer
Joined: 2008-10-10 17:40
Console and WAtomic both use

Console and WAtomic both use PAL, so the manual can be updated to reflect that.

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
On My List

I've got them on my list... just haven't updated them yet. Thanks for remembering Smile

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

computerfreaker
computerfreaker's picture
Offline
Last seen: 12 years 6 months ago
Developer
Joined: 2009-08-11 11:24
64-bit apps

How should we handle 64-bit apps where the 32-bit and 64-bit versions are in side-by-side but otherwise identical folders? (App\AppName\x86 and App\AppName\x64; both have the same file structure, same config file names, etc.)

Specifically, I'm looking at Double Commander. I'd like to package both the 32-bit and the 64-bit version, but I don't know how to handle the package so it automatically uses both the correct app version and provides the correct config files (since both the 32-bit and 64-bit versions appear to save settings to identical config files with the same names, but the 32-bit and 64-bit are in side-by-side folders so a simple file move is out)

"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
Covered in the manual

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

computerfreaker
computerfreaker's picture
Offline
Last seen: 12 years 6 months ago
Developer
Joined: 2009-08-11 11:24
Yes, but does it cover this situation?

PAL docsSome apps will have their 32-bit and 64-bit versions next to one another, for example in App\AppName\AppName.exe and App\AppName\AppName64.exe; sometimes however they will be in different directories – App\AppName\AppName.exe and App\AppName64\AppName.exe.

It is possible that an environment variable will be needed to specify %PAL:AppDir%\AppName and %PAL:AppDir%\AppName64, depending on the architecture, so that a configuration file can be updated.

That's what I see as being relevant in the manual, but I don't see how it really helps, unless I'm supposed to construct a custom environment variable for the path like the provided code block demonstrates. I was hoping for something a little more streamlined, so I could keep using standard PAL env vars.

If I end up creating a custom env var, I assume I'll need to use it for everything (FileWriteN, FilesMove, DirectoriesMove, etc.)?

"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."

John T. Haller
John T. Haller's picture
Online
Last seen: 28 min 17 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Hardly Ever

We will only do 64bit if it is required (JkDefrag) for proper use on x64 Windows or if it has a very big performance increase (7-Zip = ~10%+) and no huge size increase. Details: https://portableapps.com/node/24371

Sometimes, the impossible can become possible, if you're awesome!

computerfreaker
computerfreaker's picture
Offline
Last seen: 12 years 6 months ago
Developer
Joined: 2009-08-11 11:24
ok

Thanks for pointing me to that thread. I'll leave 64-bit alone in the future unless it's necessary (e.g. Process Hacker or JkDefrag).

"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
?

Once you've created the environment variable, you can use it in all of those sections with no extra bother. What's hard about that? All it ends up as is %FullAppDir% instead of %PAL:AppDir%\AppName.

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

computerfreaker
computerfreaker's picture
Offline
Last seen: 12 years 6 months ago
Developer
Joined: 2009-08-11 11:24
Not hard, just a bit more complex

It's not hard, just a bit more complex than a typical launcher, and something I can see myself looking at in 6 months and going "What did I do here and why??" It's not a big deal, just something I was wondering about.

Thanks!

"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."

scriptdaemon
Offline
Last seen: 4 years 3 months ago
Developer
Joined: 2008-10-10 17:40
QT customColors.

Have you implemented clean-up for HKCU\Software\Trolltech\OrganizationDefaults\Qt\customColors yet? If not, were you going to do this for 2.1? If not, is it on your todo list? (Just keeping up with this, because Zint should be ready soon.)

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
Not specially

For the moment, just do [RegistryKeys]:-=HKCU\Software\Trolltech\OrganizationDefaults\Qt\customColors (and gently prune the tree back to HKCU\Software).

I may also do a [Qt] section with customColors=ignore|clean|preserve (ignore being the default, clean being equivalent to -= above and preserve being equivalent to customColors=HKCU\... so that it actually saves the contents - perhaps some app somewhere actually uses the value?) which will also include the automatic pruning. I think I'll put that in 2.2. Got to sort out 2.1 first, though...

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

scriptdaemon
Offline
Last seen: 4 years 3 months ago
Developer
Joined: 2008-10-10 17:40
Eh.

It one registry key really worth a whole new section?

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
Probably not

But it also removes the pruning code.

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

scriptdaemon
Offline
Last seen: 4 years 3 months ago
Developer
Joined: 2008-10-10 17:40
.

Is it possible to keep it in QtKeysCleanup (or whatever it is)?

computerfreaker
computerfreaker's picture
Offline
Last seen: 12 years 6 months ago
Developer
Joined: 2009-08-11 11:24
Iron + Push + PAL 2.1 = fail

PAL 2.1 fails to build a launcher for Iron. The log file shows an error in the PushAs_ macro:

Push expects 1 parameters, got 2.
Usage: Push string
Error in macro PushAs_ on macroline 1
Error in macro ChromePasswords::ImportPasswords on macroline 2
!include: error in script: "L:\Programming\PAF\Iron\Copy of Iron (2)\App\AppInfo\Launcher\Custom.nsh" on line 32
!include: error in script: "Segments.nsh" on line 122
Error in script "L:\PortableApps\PortableApps.comLauncher_2.1_BETA\Other\Source\PortableApps.comLauncher.nsi" on line 139 -- aborting creation process

I took a look at the PushAs_ macro, especially the first line, and it looks ok.

!macro PushAs_ ENCODING VAR
Push `${VAR}`
System::Call kernel32::WideCharToMultiByte(i${ENCODING},,ts,i-1,t.s,i${NSIS_MAX_STRLEN},,)
!macroend

PAL 2.0 didn't have any trouble with it, and I haven't upgraded my NSIS or anything but PAL.

Any suggestions?

"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
Code?

Could you please post your custom code? Then I can try to track down what the problem is; it might be being triggered by one of these obscure !define + !macro definition bugs that I've come across.

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

computerfreaker
computerfreaker's picture
Offline
Last seen: 12 years 6 months ago
Developer
Joined: 2009-08-11 11:24
Here you go

The custom code is a bit complex, so I've uploaded it to Pastebin. The code itself isn't too bad, but there are enough macros calling macros in other files to make following it a bit hard.

PortableApps.comLauncherCustom.nsh
calls
PluginsEx.nsh
which calls
CallANSIPlugin.nsh
which is where the actual error is triggered, in macro PushAs_.

Thanks for taking a look!

"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
PortableApps.comLauncherCustom.nsh?

I presume you meant Custom.nsh and have it all in App\AppInfo\Launcher, once you're dealing with PAL 2.1? I know you must have moved at least Custom.nsh, but you should put it all in this directory if you haven't already. Other\Source is a thing of the past. (You can also get rid of all ANSI NSIS support; PAL won't be using it ever.)

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

computerfreaker
computerfreaker's picture
Offline
Last seen: 12 years 6 months ago
Developer
Joined: 2009-08-11 11:24
Yes...

I forgot PAL renamed & moved PortableApps.comLauncherCustom.nsh for me. That's in App\AppInfo\Launcher, but the other files aren't. (Just for the record, I did try moving the other source files there, but that didn't fix the problem.)

Other\Source is a thing of the past.

Does that mean I should just delete Other\Source?

When I get a chance, I'll try removing ANSI support and see how that goes. I seem to recall something (Portable Passwords, most likely) needing it.

"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
I'll look

Keep Other\Source, but all launcher stuff should be in App\AppInfo\Launcher. Other\Source is for launcher documentation for the user. Even if it doesn't fix it, once you get to deployment that's the way it should be.

I presume the rest is all just in the Iron package; I'll get it next week and poke around and see what I find.

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

computerfreaker
computerfreaker's picture
Offline
Last seen: 12 years 6 months ago
Developer
Joined: 2009-08-11 11:24
ok

I moved the other files to App\AppInfo\Launcher and tweaked Custom.nsh (it had a line using ${PACKAGE}\Other\Source which needed changing) to match. I'll keep it like that for the future.

Yep, the other files are in the Iron package. You can just grab the official release.

"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."

Mark Sikkema
Offline
Last seen: 12 years 6 months ago
Developer
Joined: 2009-07-20 14:55
Bug in 'CallANSIPlugin.nsh'

If you would compare the script use are currently using for the password plug-in to the one used in PAL, you'd see there is some quotes missing. PAL didn't mind due to the use of variables, but when I wrote your password plug-in script I came across this bug, so I added the quotes !

Formerly Gringoloco
Windows XP Pro sp3 x32

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
Resolution?

Should I just quote the Push and Pop strings, or should I be adopting all the changes in that CallANSIPlugin.nsh?

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

Mark Sikkema
Offline
Last seen: 12 years 6 months ago
Developer
Joined: 2009-07-20 14:55
Hmm, I should haved let you know when I made it...

And now it's a couple of months ago I've seen this script Sad

For the changes, ( As far as I can recall, ) it's just that I did find a cleaner way to handle the system calls. By making the system plug-in pushing / popping the stack directly, using the 's' command. I'm sure nothing dramatically did change.

Aswell I added some extra functions VarFromANSI/UTF8, which Iron P needs for the killproc plug-in.

So I guess do include all the changes, I'm sure it'll be fine. After all it has been fully tested by IronP by now Smile

Formerly Gringoloco
Windows XP Pro sp3 x32

computerfreaker
computerfreaker's picture
Offline
Last seen: 12 years 6 months ago
Developer
Joined: 2009-08-11 11:24
That did it!

I copied CallANSIPlugin.nsh from Iron Portable to PAL and now the launcher builds properly. Thanks for the fix!

Do you think I should upload a development test so people get a chance to see if everything works correctly, or should I just send the build directly to John for release?

"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."

Mark Sikkema
Offline
Last seen: 12 years 6 months ago
Developer
Joined: 2009-07-20 14:55
concerning

concerning CallANSIPlugin.nsh, I really believe it's fine, it is the script IronP used all this time. But is PAL 2.1 already being used officially? If yes send it to John and let him decide.

Formerly Gringoloco
Windows XP Pro sp3 x32

computerfreaker
computerfreaker's picture
Offline
Last seen: 12 years 6 months ago
Developer
Joined: 2009-08-11 11:24
Wildcards

I don't think PAL 2.1 is being used officially yet, but Iron Portable needs the wildcard support for language switching. (Yes, that really is a bit messy, but so is the format of Iron's settings files.)

Like you suggested, I think I'll just send John the build and let him decide what to do with it.

"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."

Mark Sikkema
Offline
Last seen: 12 years 6 months ago
Developer
Joined: 2009-07-20 14:55
Are you sure you need the

Are you sure you need the wild-card support, wild-card support only concerns files and folders, not values.

All I can find in your launcher.ini is :

[FileWrite2]
Type=Replace
File=%PAL:DataDir%\IronPortableData\Local State
Find="app_locale": "*"
Replace="app_locale": "%PAL:LanguageCustom%"

I have to say, messy, yes, the launcher.ini surely looks quite odd. You're also passing the %PAL:LanguageCustom% variable in the commandline Pardon

edit: I had a very quick look into the Iron language settings, I really cannot see how the NewTestReplace plug-in could every handle a wild-card.
Why not write the language value to Data\settings\IronPortableSettings.ini and read it from there on start up, then pass it in the command-line. That should work

Formerly Gringoloco
Windows XP Pro sp3 x32

computerfreaker
computerfreaker's picture
Offline
Last seen: 12 years 6 months ago
Developer
Joined: 2009-08-11 11:24
Good point about redundantly

Good point about redundantly passing the lang value on the command-line. I'll have to drop that and rebuild the package.

I don't think I can write the language to %PAL:DataDir%\settings\IronPortableSettings.ini, since %PAL:LanguageCustom% doesn't change when Iron's language changes. The only way I could work that would be to read the language from Iron's settings file, and then of course I would have to write the language value to that file as well. That's exactly what I'm doing now. Pardon

I'd really love to drop the wildcard, but, given the complexity of the Iron settings-file format, I don't think I can successfully do that.

"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
Used in a few

PAL 2.1 Beta 2 is already being used in a few apps where it is needed. It's been demonstrated to be stable, really.

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

AnhPhan
AnhPhan's picture
Offline
Last seen: 11 years 4 months ago
Joined: 2011-02-19 05:39
Add PAL:ArchSuffix variable

For easy build path of 64bit program, It's nice if launcher have a build-in variable like PAL:ArchSuffix (have value 64 when os is 64 bit, have value 32 or empty string when os is 32bit), so we will not need custom code when building path for 64 bit application.

Joshwiker14
Offline
Last seen: 8 years 2 months ago
Joined: 2011-04-08 13:12
Does It support wildcards like this?

I'm Trying to make a flash game portable so it copies its own flash cookie.
The problem is that the file in "C:\Documents and Settings\thstu\Application Data\Macromedia\Flash Player\#SharedObjects" is different on every computer.

I have tried (in [FilesMove]) "Settings\DinoRunSavedGame.sol=%APPDATA%\Macromedia\Flash Player\#SharedObjects\*\localhost" but it doesn't go into the folder, it puts it next to it.

I'm wondering if this could be fixed in the next release.

-Hello Wink

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
No

That's a type of replacement which won't be being implemented. It would be ambiguous what should be done about it, anyway.

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

judeah666
Offline
Last seen: 9 years 9 months ago
Joined: 2009-03-28 15:53
Asking for Splash Screen

hi i wanted to change the splash screen to a custom splash screen png format but the launcher only supports jpg. how do i do that?

John T. Haller
John T. Haller's picture
Online
Last seen: 28 min 17 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Convert It

You'll need to convert it from PNG to JPG. It only supports JPGs. The plugin doesn't support alpha transparency, so a PNG would have no real advantage.

Sometimes, the impossible can become possible, if you're awesome!

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 9 months ago
Joined: 2007-04-15 21:08
Release Candidate 1

I'd like people to just make sure this is working for them, translate it if you speak a language other than English, German and Slovenian, and then we can release it fairly promptly. Unless there are bugs, I don't expect to make any changes other than with the translations between this and 2.1 final and removing the "UNDER DEVELOPMENT" label on the release notes.

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

Topic locked