You are here

Recommended Method for Including my own Apps

3 posts / 0 new
Last post
NFarrar
Offline
Last seen: 9 years 6 months ago
Joined: 2008-01-10 15:46
Recommended Method for Including my own Apps

Hello All,

I have a 'kit' that I use regularly. It includes the following types of apps (none of which follow the portableapps standard - in fact I haven't used portableapps in the past and am not using it now, though I'd like to):

Applications which are not portable, must be installed and registered (they requiring licensing).
Applications which are 'portable - i.e. I copy them on and run them without installation).
Applications which are 'portable' and run in the command line interface.
Python scripts which run in the terminal.

I'd like to leverage the portable apps platform for this process in the future - so a couple questions:

With the non-portableapps portable apps - is there a way to 'easily' convert them to the portable apps standard? Is there a guide on this somewhere? (examples of these apps are - the sysinternals suite, sublime text 2, ollydbg, cygwin, and several others).

With the install-required apps - is there a way to package the apps into my portable apps folder so that they are part of the portable apps environment and contain the installer - thus I can install them from the portable apps platform?

With the GUI based portable apps that do not adhere to the standard - is there a tool or guide for converting them to the standard? If not, is there a way I can include these tools in my portableapps environment to run them from the menu?

With the CLI apps - is there a way to create a menu item so that I can run them from the portableapps menu with specified parameters? (or at least launch a terminal in a specified directory?)

With the python scripts - is there again a way to create a menu item which will run them?

Is there a way to add and remove entries to the standard portable apps menu - i.e. I'd like to remove 'music pictures, videos' and add my own categories - such as 'sysinternals' which is just a link to a directory in the portable apps environment?

Additional - just in case it's relevant - I typically run these apps in virtual machines that cannot communicate with the internet.

Thanks!

darksabre76
darksabre76's picture
Offline
Last seen: 4 months 17 hours ago
Developer
Joined: 2011-04-19 23:28
A few answers

One overarching answer is to take a look at the Beta Forums. A lot of programs that are not officially recognized apps, but still in PA.c format, can be found there. Cygwin and even portable Python can be found there. So that would be the first place to look to start replacing the kit.

Another overarching answer is that Development Forum and the Development page offer a lot of information on how to package your own applications, even if you do not release them for general usage (which would be the case for licensed apps). Specifically, the Launcher Documentation will come in handy for setting up directory moves, registry items, and commandline arguments.

Finally, the PA.c platform itself cannot be changed stylistically apart from themes unless you download the source code yourself and recompile the Pascal code. Adding categories in the application list is possible (just make sure you use the beta release for all the up-to-date features), but not adding actual features to the platform.

I hope this helps you on your way, and welcome to the world of PortableApps.com.

Ken Herbert
Ken Herbert's picture
Offline
Last seen: 4 hours 51 min ago
DeveloperModerator
Joined: 2010-05-25 18:19
Expanding on a couple of darksabre's points

Bear with me here, there is a lot of information to impart, but I hope it is helpful.

Getting apps into PortableApps format
There is a bit of a learning curve involved with getting an app into PortableApps format, but we have a great community here who are always willing to help out.

The best way to start is by looking at existing PortableApps (note that I list my own released apps here - while any app would make for a decent place to learn I know my own better so can list exactly what they do without really looking).

Start with something that requires little to no portabilization like dotNETInspector (no portabilization - just Launcher), BabelMap (basic registry modification) and Artha (environment variables & moving files) to get yourself familiar with the PortableApps Format Specification and some basic concepts.

Then check out some apps requiring a bit more work like BabelPad (handling paths in settings files & very basic language switching), Pencil Project (handling paths in two formats & command line arguments) and LAN Messenger (Qt keys handling, disabling non-portable functionality like "Start with Windows", more language switching, more handling paths in settings files including setting paths in default data on first run).

If needed then there are further possibilities using some custom NSIS code to handle anything the PortableApps Launcher can't directly deal with.

Already portable applications
For apps not in PortableApps format many of them will work just by following these instructions. Take note that different developers have different ideas on what "portable" actually means - some think running from portable media but discarding your settings is fine, others think it is alright to make settings portable but leave registry entries/files/folders around the place. We try to portabilize everything we can without destroying data on the host PC (eg. we don't attempt to remove our apps from Windows' recently run list because it would also destroy data about locally installed applications).

Non-portable applications
You may find that many of them won't actually need to be installed and can be run as a PortableApp as long as they don't licence to a specific PC (such as with a hardware-based key). In those cases I would say it is possible to create a Launcher with no portabilization for their installers (.exe will definitely work, .msi or any others may or may not, I've never tried them), but for .exe installers it would be just as easy to follow the instruction above and then put them in a custom category within the Platform's app list.

Command-line applications
There isn't really the capacity within the PortableApps Platform to handle them, but we do have two official apps that mean the Platform doesn't have to: Command Prompt Portable and Console Portable - both of which have ways you can easily include your own command line programs for use from within the app.

Python scripts
Nothing to add here, sorry.

Customizing the Platform
As darksabre stated you can't change the folders on the right hand side at the moment, but customizing these folders is planned for an upcoming release.

Running from a VM/without internet
You may want to turn off the automatic check for updates on the Options->Advanced tab if you regularly don't have an internet connection. Just note that some installers do require internet (this is usually listed on the app's page) as we cannot legally bundle the base app and instead have to download it as part of the installation process.

Log in or register to post comments