Okay so here's the deal. I work on a program called MASGAU (http://masgau.org) that is basically a glorified backup program. I've had some requests to make a PortableApps version, so I'm giving it a swing. Things have been going okay, but while testing it I ran into an issue today. MASGAU detects if a file belongs to a particular user by way of checking if it is in a subfolder of that user's home folder (ownership=location as far as MASGAU is concerned). When I run MASGAU with the -portable arg that I've added to it, it backs up the files exactly as it should, labeling them as tkmayn9 (my user), but when I run it through the PortableApps Launcher that I've set up for it, it thinks it's owned by "Documents and Settings". I think that something the Launcher does to compartmentalize apps to make them portable is messing it up, and I would really like to work to resolve this. Is anyone aware of anything that the Launcher does that would cause my program to be looking one folder higher like this?
The code for what I've been doing can be found at https://github.com/MASGAU/MASGAU/tree/PortableApps.com
The code for the rest of the program is there too. My first instinct is to break into debug and make a workaround to compensate, but I'd rather learn to play ball properly with the Launcher.
By enabling logging, you'll be able to see what the launcher does. It is a good start.
I'm going to download your code and try to analyze it. I've already seen a few things you'll need to change.
Previously known as kAlug.
Okay, I'll give that a shot when I get home. I actually just moved the repository to an organization, so the address changed a bit:
https://github.com/MASGAU/MASGAU/tree/0.9.2/MASGAU.Portable
Okay so I did the debug logging thing. The environment variables all look fine, though I'm noticing not every single one is there, so maybe that's where the problem is coming from. MASGAU falls back on environment variables, but primarily it extracts paths from the registry. Does the launcher do any kind of registry blocking or anything like that?
The code moved again, and this time it should stay here:
https://github.com/MASGAU/MASGAU/tree/PortableApps.com
So am I up a creek without a paddle?
I wrote this sometime ago; it may not be accurate anymore:
A better help.html would be good
GPL is not an EULA; delete Other\Source\EULA.txt and grab the contents from the Portable App Template, replacing MASGAU for **App Name** in Other\Source\Readme.txt.
What is App\Data for? The launcher will never use it.
appinfo.ini:
Remove [Details]:Trademarks and [Details]:InstallType, as they are empty
[License]:EULAVersion should not be present for open-source software
Delete the [SpecialPaths] section
Remove [Dependencies]:UsesJava
[Control]:Start* doesn't accept command-line arguments
installer.ini:
You have English as the only language for the installer. Are you sure this is what you want?
launcher.ini:
No need for quotes around [Launch]:CommandLineArguments
Other:
Your 7-Zip copy is outdated (latest stable is 9.20; unstable is 9.25 alpha, IIRC)
Previously known as kAlug.
Okay I implemented the changes you suggested.
I didn't implement the EULA change, as I was not able to find the PortableApp template. A quick google revealed an "obsolete" template, one that was only an nsi file. It stated it had been superceded by the portableapps launcher, which I dug into, but found that the other\source\readme.txt contained only a line mentioning help.html. The License.txt file contained there was actually also a copy of the GPL, leading to further confusion.
The language setting is only such because my attention has been more on getting the main program working. So, in that regard, none of these suggestions have had any bearing on my ability to resolve my actual issue of portableapps launcher somehow interfering with the path detection my program is trying to do. As much as I'd like to maintain compatibility with the launcher, I might have to forego using it.
The App Template 2.2 is listed on the Development Page.
I'm not sure what's causing the issues with your path detection, so I won't comment on that.
Thank you very much, I hadn't seen that on the page. Is it allowable for a PortableApps-compatibile program to NOT utilize the PortableApps launcher? If not, then I might just ditch this work, as it seems some of the normally helpful things that the launcher does behind the scenes is making it impossible for MASGAU to function properly.