Shoutbox

portable applications - Printable Version

-Shoutbox (https://shoutbox.menthix.net)
+-- Forum: MsgHelp Archive (/forumdisplay.php?fid=58)
+--- Forum: Skype & Technology (/forumdisplay.php?fid=9)
+---- Forum: Tech Talk (/forumdisplay.php?fid=17)
+----- Thread: portable applications (/showthread.php?tid=66408)

portable applications by saralk on 09-18-2006 at 02:34 PM

how are portable applications made? As in how would they recreate the registry and all the other stuff needed?


RE: portable applications by alexp2_ad on 09-18-2006 at 02:41 PM

Generally they won't use the registry and they'll save any preferences and such in an ini or xml file instead.


RE: portable applications by saralk on 09-18-2006 at 03:53 PM

quote:
Originally posted by alexp2_ad
Generally they won't use the registry and they'll save any preferences and such in an ini or xml file instead.

but how are applications modified into portable apps like Portable Firefox
RE: portable applications by Dempsey on 09-18-2006 at 04:24 PM

quote:
Originally posted by saralk
quote:
Originally posted by alexp2_ad
Generally they won't use the registry and they'll save any preferences and such in an ini or xml file instead.

but how are applications modified into portable apps like Portable Firefox
well firefox is open source, so people can modify it.  And AFAIK firefox doesnt use the registry anway, just config files
RE: portable applications by Adeptus on 09-18-2006 at 04:47 PM

quote:
Originally posted by saralk
but how are applications modified into portable apps like Portable Firefox
The simple answer is -- first, you settle on using the lowest common denominator techniques whenever possible, then you write a lot of conditionally compiled code, to cover the platforms you want to support.

Using configuration files instead of registry would be an example of lowest common denominator approach -- all platforms have a file system, while only Windows has registry.

Dealing with display would be an example where conditionally compiled platform-specific code is inevitable at some level -- because you'd have to deal with GDI on Windows, X11 on Unix systems, and something else on some hypothetical platform you may wish to support.

RE: portable applications by Plik on 09-18-2006 at 05:32 PM

quote:
Originally posted by Adeptus
quote:
Originally posted by saralk
but how are applications modified into portable apps like Portable Firefox
The simple answer is -- first, you settle on using the lowest common denominator techniques whenever possible, then you write a lot of conditionally compiled code, to cover the platforms you want to support.

Using configuration files instead of registry would be an example of lowest common denominator approach -- all platforms have a file system, while only Windows has registry.

Dealing with display would be an example where conditionally compiled platform-specific code is inevitable at some level -- because you'd have to deal with GDI on Windows, X11 on Unix systems, and something else on some hypothetical platform you may wish to support.
I think saral is talking about portable apps as in stick it on a memory key and use it on restricted access computers, not multi platform apps ;)
RE: portable applications by andrewdodd13 on 09-18-2006 at 07:01 PM

Simply put, Mozilla Firefox is actually very umm ... (I can't think of a word to use instead of portable because it's not the correct term for this) environment independant (that'll do :)) anyway, as in you can move the Firefox directory about and the program will still run.

The few registry entries are to do with the location of the users profile, and in Portable Firefox these are hard-wired into the program as \Data\Profile . You can actually copy the profile directory from inside your personal Application Data folder to the portable profile directory and have your portable firefox set-up *exactly* the same as it is on your local computer.


RE: portable applications by rav0 on 09-20-2006 at 12:36 PM

In a work (or two); M4D H4X.

Often there are trainers or loaders used to make it work, but not modify the host system. Instead, the trainer/loader will store settings/cache/etc in a file whenever the application would normally use the registry/profile/home/Temp/etc. Open source programs can just have a code patch applied before compilation.

Either way, it's not easy, and each program is different, there is no manual on creating them (except if you decide to make an entire operating system or virtual machine I guess). There can also be different modifications that can be called portable, bu one might use Windows Temp, while another might create a local (to the program directory) temporary files folder.


RE: portable applications by CookieRevised on 09-20-2006 at 01:25 PM

portable apps: they quite often are not multi-platform.

In essence any program which can run from its installation directory without the need to access anything else (excl. system devices which are globally available), and which does not depend on user access rights, is portable.

To go a step further, a true portable application also doesn't leave any traces (thus also doesn't leave registry stuff behind).

note: those portable messengers which popup once in a time are certainly NOT portable at all. Eventhough they are advertised as that by their "creators" (note the quotes as all they did was quite often copying everything in the installation directory and putting everything in an home made installer (which quite often even doesn't install the stuff properly) and archived together. Those portable messengers use just the same files, need the same files and leave the same traces as a normal a installation)

-

Multi-platform applications: as Adaptus explained, they are written with the lowest common denominator approach.

In some cases this means ASM, in other cases (and which are actually very extremely quite common) Java.

Java is by far the most used and easiest way to create multi-platform apps (for those platforms which has a Java applet of course; which are very many) and it is not that hard at all; it is just a programming language like any other.

Java was designed with the idea to create a multi-platform for designing apps.

A multi-platform app can access platform specific stuff though, the only thing is that for another platform a working alternative is available within the program in a transparent way (aka the user doesn't notice this).

-

A multi-platform app is not nessecairly porteable and a porteable app is not nessecairly a multi-platform app.


RE: RE: portable applications by rav0 on 09-21-2006 at 12:59 AM

quote:
Originally posted by CookieRevised
for those platforms which has a Java applet of course
Java Runtime Environment ;).