Application: General Launcher (note: there is no website for this app as of 2010-02-18)
Category: Utilities
Description: General Launcher is a simple, INI-based, way to launch multiple programs. It's especially useful for autorunning apps from a USB drive, since autorun.inf only supports launching a single app.
Download General Launcher Portable 0.5 Development Test 1 [397 KB download / 287 KB installed]
(MD5: 97991be2b25d1a01502e007f51671b9d)
Release Notes:
0.5.0.0, Development Test 1 (2010-02-20):
- Improvement: did a bit of code cleanup
- Replaced the old, GPL-violating icon with a new, GPL-compliant one (thanks for creating the new icon, varxtis!)
0.3.0.0, Development Test 1 (2010-02-18):
Initial release
Concerning the code:
It's not an INI format you're using; thus your data file should not really use the INI extension. But then, maybe you should use an INI format, due to your use of ExecShell (file and parameters are separate arguments):
Currently any quoted paths or paths with parameters will break (it'll try to execute the file name including the quotes or parameters), and using any extension without an
open
command available in the registry won't work (command should be "").(Hide=true was just an idea that popped into my head - you can use it to hide windows that you don't want to see; it will work with command line windows and GUI windows alike though so caveat user.)
You've also got a lot of junk from launchers left in there which you just don't need. Your use of StrReplace is sub-optimal, it's more efficient to set environment variables once and then ExpandEnvStrings will take care of them all. I've rewritten most of it here (and got rid of some strings which are already available - %PROFILE% is already available as %USERPROFILE% and %WINDIR% is already there). I also submit that almost none of those variables will be useful for simply launching an application; %DRIVE% would tend to be all that's needed, almost all the rest are overkill.
Concerning the icon:
Thus if you wish to use that icon,
App\AppInfo\appinfo.ini:[License]->CommercialUse
should not betrue
butfalse
. (This is due not to the CC-NC which is distribution but the CU:NA specified in the next line.) You'll also have issues with the GPL.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
Yeah, I thought about that, but I can't think of another text-file type that's generally used for data storage, is recognized as data storage, and opens with a text editor instead of getting the Windows "What do you want to do with this file?" box. TXT was an option, but it's rarely (if ever) used for data storage, and just plain doesn't look good, so I went with INI.
Exec wouldn't work for anything but applications, so I went with ExecShell instead. (Pretty sure I left a note in the comments about that, but just in case I forgot...)
I'd like to go back to an INI-based format, but I'd really like to use ${ForEachINIPair} and other code from PAL then (I've got a working, INI-based general launcher, if you want to see the code - there's probably 2-3 macros I borrowed from PAL), and that may not be desirable.
I was aware of the parameters issue, but not the "open" issue. That worked for all the file types I tried, so it all looked good.
I'll fix that.
Pretty good idea, especially for command-line windows.
I had the same feeling, although I couldn't pinpoint anything specific. I'll take another look over the source.
I tried ReadEnvStr, but NSIS kept erroring out because it already had values for those variables; ExpandEnvStrings gave me grief, too, until I figured out how I was supposed to use it. StrReplace was the best option at that point, since I couldn't figure out any other way to get the environment variables properly translated.
Thanks, I'll look that over.
Any way of seeing which strings are and which strings aren't there? I had all kinds of trouble with that last night, and finally decided to define everything myself and call it a day.
Sorry, but I've got to disagree.
Although the General Launcher will probably be primarily used (as is intended) to work with autorun.inf, in which case %DRIVE% would be enough, I'm expecting at least a few users to need something more than that.
So if I have the icon in there, I have to turn off CommercialUse. And if I turn off CommercialUse, the GPL is broken, right?
Time to get a new icon, which is a shame, because that was a good-looking icon.
EDIT: how's this look?
So, the bottom line here: redesign the app & get a new icon?
"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."
Updated 2010-02-20, see above for details.
There are still some code problems with this release; I'll resolve them soon.
"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."