Creating an application launcher

Ok, so I want to create an application that launches other applications. However, the goal here is to make the application "portable" so that I can switch from one Windows desktop to another while using the same application from a USB stick. So here's another rundown of what I mean:

I have application X. I use it on machine 1 and I want to use it on machine 2. However, machine 2 is my buddy and he doesn't want me to install things on it. So, I take all the files that the installer installed on my system and put them in folders. Application X places files in the Windows folder that it expects at startup. If I just run the application and it looks in the windows directory it won't find the files. I don't have / want to be able to put files in the dir directory. I want to tell the application to look in folder a for files in folder b, not where it usually looks. Then I could use this program on any machine without having to modify the machine in any way.

Is it doable? If so, what is it called, so I can watch it?

EDIT: The example was win win. I would like the application to be contained in a folder on a flash drive. I want to redirect the application in which the application is looking for files to the folder I specify.

+2


source to share


2 answers


It can be done, but how easily it depends entirely on the program you are running.

The types of applications that will run are as follows:

  • Just execute happily, executing anywhere (no dependencies). It's very easy!

  • Some environment variables need to be configured. It's easy to do - you can start a new process with a modified environment if you want.

  • Reading files from disk. Typically, when loading files such as DLLs, the applications will look in the PATH for the DLLs, so they can be copied to the application folder (next to the .exe) and it will work successfully on any system. However, in some cases, applications will use fixed (or at least less flexible) paths, making them harder to launch successfully.

  • Read the registry settings. This is more difficult. You need to know what state the app requires, start your account in the old registry state, modify it and run the app, and then wait for the app to exit to restore the original state. This should be bulletproof to avoid damaging the user's registry.



Ultimately you will need to research, for each application you want to run, only what it needs to run.

If the applications are commercial, be careful not to violate the EULA by running them this way.

Another alternative would be to create a virtual PC image and just execute it on the host computer, so there is no need to worry about any special cases for each application. Depending on the VPC software you have, you may need to install the software on the host PC in order to allow the virtual PC session to start, which could result in target / intent defeat.

+3


source


I think the system you are describing is U3 (more information at http://en.wikipedia.org/wiki/U3 ). It requires the application to follow the U3 protocol, but if the application is running, it can be run from a U3 flash drive without any installation or administrative permissions required on the host machine.

This is proprietary technology and is only supported by a few vendors that I have seen.



If you really want portability and power, consider VMWare Player and transfer your entire machine, customized to your needs, to a flash drive. Of course, your friend will probably have to let you install VMWare Player.

+1


source







All Articles