Sunday, 5 April 2015

Which is the best Portable app. Launcher for your USB drive?

It is often useful to have portable apps on your USB drive, so that you do not have to install any applications or drivers on the system that you are trying to use or fix.

Portable apps launchers are great, but most often you will need to run a launcher from a WinPE environment rather than a full Windows OS with .Net and WoW64 (the Windows-on-Windows 'thunking' which allows Windows to run a 32-bit application in a 64-bit OS).

Many of the portable apps themselves are 32-bit only apps (and thus require a full 64-bit OS or WoW add-ins), but what about the Launcher apps? If these require a full blown OS to run in with .Net, etc. then we cannot even run the Launcher app to choose a portable app!

pendriveapps.com - A 'library' of all free portable apps with links. Useful for finding and adding portable apps to your launcher!



Portable app Launchers

Here is a list of some Launchers that I have quickly tested and which you may find interesting:

Lupo PenSuite (stated as 'dependency free') - Download and install to your USB drive (it just extracts the files onto your USB drive). When you run it (Lupo_PenSuite.exe) it adds a new System Tray icon.


Lupo comes in Full, Lite and Zero flavours. If you download the Full version, you will have all the apps and be ready to go! 

What I like about this is that it is ready to go as soon as you copy it to your USB drive. Additional apps can be added to the MyApps folder. See here for a nice explanation of how to add more apps + more details on installing and using Lupo.

PortableApps.com - Download and install to  the root of your USB drive (note that it expects to be installed to the root of the drive, but to keep it tidier, you might like to specify a folder under the root)
 When first copied to the USB drive, there will be no apps present. To download and add apps, click on the Apps - Get More Apps menu.


If you boot on a system that does not have an internet connect (or you don't have the correct network drivers installed) then you will be in trouble! So you will need to download all the apps you need first. This is a bit of a slow process and nowhere near as convenient as having them already present.
You can uninstall an app by right-clicking on the entry in the menu.

 Geek-Menu - You may also like to take a look at a fork of PortableApps called Geek-Menu.



LiberKey - this is similar to PortableApp.com but conveniently allows you to select one of three Suites - Basic (80Mb extracts to 300MB), Standard (270MB extracts to 900MB)  and Ultimate (336MB) once you have downloaded and run the LiberKey app. You can then deselect and apps that you don't want. Each portable app must be downloaded by LiberKey but this is all done for you as soon as you select which ones you want or don't want.


Once finished, all the apps are downloaded and copied to the USB drive. again this takes a while! It also has a useful auto-update feature.


 I especially like the way it tells you all about the app before you run it.

winPenPack -  .Net is required to run this. Essential, Personal and Full versions. Seems to be maintained well. Italian, English, Spanish and Swedish menu support. Microsoft .Net required. WinPenPackNet.exe is the GUI program to launch the menu. The Personal version ('empty core') allows you to download and add only the portable apps that you want. The Essential version is 524MB currently and contains a selection of apps. The Full version is 730MB. 

GeGeek Tech Toolkit - Don't forget the massive collection in GeGeek Toolkit at GeGeek.com!


So which is best?

Of course, it all depends on your requirements.

First of all, all the Launchers seem to be 32-bit apps, so they won't work in a plain 64-bit WinPE environment (even if the portable apps themselves would work).

Even running on a plain 32-bit Win7 SP1 WinPE OS, I had a lot of problems with many of them!
Obviously,  on a plain WinPE OS, there is no SystemTray for the Launcher to dock in either.

The OS's used for testing are listed below:
WinPE7_32 = Win7 SP1 Installer 32-bit ISO
WinPE81_64 = Win 8.1 Installer 64-bit ISO

Here's the results (X=didn't run):

            WinPE7_32   WinPE81_64   WinPE81_32     WinPE81_64+WoW
Portable Apps         X              X             OK                      X
winPenPack            X              X             X                       X

Lupo                  OK-ish*1       X             OK                      OK
LiberKey              OK-ish*2       X             OK                      X

GeGeek Toolkit        X              X             OK                      OK*3
Geek_Menu             X              X             OK                      OK-ish*4

Notes:
*1 - Lupo launches the first time, but if I exit from it and it is then run a 2nd time, no GUI is visible (as there is no SysTray but the app is still running in the background). To fix it, we must run taskmgr.exe and kill ASuite.exe with End Process. Then we can run Lupo again.
*2 - LiberKey relies on MSVBVM60.dll (a Visual Basic 6 DLL which is in XP SP2 and later versions of Windows). It also did not run correctly in 64-bit+WoW either.
*3 - GeGeek Toolkit could run the portable apps, but a few features don't work properly.
*4 - Geek_Menu could run the portable apps, but cannot update or fetch more apps as the link to open the browser to get more apps did not work. Probably due to some DLLs missing from the WinPE environment. No doubt that could be fixed by making a URL link to the correct page and keeping it on the same folder as Geek_Menu.

Here is the .cmd batch file I used to launch LiberKey from WinPE.
The MSVBVM60.dll should be in the same folder as this file and the LiberKey.exe file.

Run_LiberKey.cmd
===============
pushd "%~dp0"
set path=%path%;%~dp0
echo PATH=%path%
LiberKey.exe


For my purposes, I would like a Launcher to work under WinPE 64-bit + WoW (even if many 32-bit of the apps don't work, at least many others do). So we are left with Lupo, GeGeek Toolkit and Geek_Menu. However, the last two did not even run under a vanilla WinPE 32-bit OS.

and the Winner is...

Lupo because it was the only one that ran in a vanilla 32-bit WinPE OS (note: although liberkey did run if I added the missing DLL, it did not work in 64Bit WinPE+WoW OS)!

Fix for the problem with Lupo in vanilla WinPE

To overcome the problem of having to manually type in 'taskmgr.exe' in a command shell and then kill the ASuite application so I could run Lupo again, I created a Kill_ASuite_Run_Lupo.cmd file in the same folder as Lupo_PenSuite.exe:

Kill_ASuite_Run_Lupo.cmd
=====================
echo Kill ASuite.exe and close TaskManager to run Lupo again...
taskmgr.exe
Lupo_PenSuite.exe


Note that the portable app System Explorer can also be used to kill the ASuite process.

You could also add the Windows taskkill.exe, and use that in a .cmd batch file: e.g.
taskkill /IM ASuite.exe
Lupo_PenSuite.exe
but you would need to add taskkill.exe to the folder also because it is not present in most WinPEs.

If only the Lupo app would not only check to see if Lupo/ASuite was already running, but if it was running, it would then pop-up the ASuite form...