A portable application can be run from a removable drive (USB flash drive, iPod, portable hard drive, etc) on any Windows computer without installation.
You will carry the program with settings on removable drive and don't modify settings on host computer.
On Vista and above turn off User Account Control (UAC) or run launcher as admin.
Extracting with installers
It is higly recommended to store all you portable apps in a PortableApps folder at the root of your drive (flash or hard disk).
Doing so, installer will found automatically extracting path. If you have several drives with a PortableApps folder at the root, installer will select removable in reverse alphabetical order.
If you want to use another location, just select with "Browse..." button: always the same, even for browser's plugins.
Custom use
The launcher (*Portable.exe) backup local and restore portable settings before launching app. When app is closed, it backup portable and restore local settings. Local settings are registry entries and files or entire folders in host computer, portable settings are stored in Data.
The launcher create and use *Portable.ini file customizable by user.
Disabling splash screen
Although the splash screen does not delay the launch, you can disable it with:
DisableSplashScreen=true in *Portable.ini
You can also put your own splash in Data (must be .bmp with transparency magenta) and write:
SplashScreenName=MySplash in .ini (for MySplash.bmp)
Passing parameters
Launcher pass receipts paramaters to main exe:
- a file dragged'n dropped on launcher will be opened in portable app
- a type of file associated to launcher (Open with...) in explorer will be opened in portable app
To open several files by this way, write:
AllowMultipleInstances=true in .ini
You can sometimes add parameters in .ini with:
AdditionalParameters=
This feature can be added on demand.
Other customization
Open an edit *Portable.ini to change default settings: fix yourself language, paths....
Securities
In abnormal use you will get some error messages:
Check if main exe exists
"...was not found in..." tell you that files expected are not in good location (if you run launcher alone).
Check if main exe is running
"Another...is running. Close..." tell you that another instance (local or portable) of main exe is running.
You can disable this check with AllowMultipleInstances=true in .ini.
Check admin rights
"You are not allowed to write to the registry!!" can explain that portable don't run or not properly.
You can disable this check with CheckRegWrite=false in .ini.
Check good exit
"Last exit of ...Portable did'nt restore settings." appears if Windows crached or was shutting down while portable was running: launcher did not have been able to restore local and backup portable settings and will do it before a new launch (recommended acceptance).
86 commentaires:
beau cadeau ca !!! j'y plonge directement !
merci bernat c'est extra ! @+
Great! Fantastic I have been waiting for an opportunity to assist you if I can with your release bernat
Great! I was waiting for an opportunity to make and share portables
love this site, love this site's author :X
Thank you for all your work Bernat.
You are now portable maker and teacher.
If I have a question, I write it on this page.
Alexei
merci bernat c'est super
merçi de partager ton savoir faire et surtout merçi pour ton super blog
Merci Bernat, finally a good guide.
Nice work!!!I hope make Gom Player portable and then i'll give you it!! Very good as ever!!
I love this site, thanks for everything you do!!!
If you can put in any application, the sources.
thanks again.
O melhor site de sofwares que existe. parabéms
do Brasil.
Excuse me bernat,but whrei can find the guide?
P.S. Thanks for your softwares.
Hi Bernat thank you very miuch for your nices application.
A question: where i can find the tutorial?
Bye
Tutorial localization is dead. There is no way to open it. Could You upload it as PDF?
http://www.htm2pdf.co.uk
@ Bernat ... firstly, thanks for all your great portables, I love 'em ... secondly, I uploaded the tutorial etc to my webspace.
It's here: http://www.oztroll.com/portableappz/
Many thanks Anthony!
I am very happy to see my tut online again.
For update I will mail to your controll.
Hi Bernat,
I really appreciate and thank to you for obtaining many useful programs to Portable.
I want to host your personal site in my hosting server. I uploaded your files to http://portableappz.proxima.web.tr
I can give you a FTP access to that subdomain and you can upload your files at any time.
Please send me an email if you want to access with FTP Client and I will send you the informations.
Thank you again.
Many thanks also KursadOlmez,
I am very interested to an FTP access for updates but your profile is not available, so I can't mail you. You can click on my pseudo to see my mail.
Nice work Boyz!!This site is one the bewst i ever seen..It will never DIE!!Thanks a lot Bernat ;)
Opps, I forgot to activate my blogger profile :)
I send you an email about FTP.
This is too much complicated for me!!This tutorial rocks but is too difficult for my computer knowledges..Any of you can explain me how to make Gom Player or Perfect Disk portables with this procedure??Thanks in advance..
Try with ThinApp.
All Users question in backup folder??
what is the variable to difine APPDATA in
C:\Documents and Settings\ALL USERS\APPDATA
-------------------------------------------------
The default is THE CURRENT USER. C:\Documents and Settings\Users\($APPDATA)
It is the same constant $APPDATA but changing of value with SetShellVarContext (before)
SetShellVarContext current (default: not to be set)
$APPDATA return:
C:\Documents and Settings\Bernat\Application Data (XP)
or
C:\Users\Bernat\AppData\Roaming (Vista)
SetShellVarContext all
$APPDATA return:
C:\Documents and Settings\All Users\Application Data (XP)
or
C:\ProgramData (Vista)
thanks bernat, you could do a detailed example in NSIS code to better understand?
thanks again.
What is the path of the folder you want to backup?
is: C:\Documents and Settings\All Users\Dati applicazioni\{067CEB81-A49B-4597-9505-A5515881D672}
the name of the program is Stardock Fences.
; Only part of codes using MyProgPortable_Lite.nsi
; ---Define Local Dirs and Portable Dirs ---
!define LOCALDIR1 "$APPDATA\{067CEB81-A49B-4597-9505-A5515881D672}"
!define PORTABLEDIR1 "$EXEDIR\Data\Stardock"
; SetShellVarContext only in first function used for dirs
Function BackupLocalDirs
SetShellVarContext all
RMDir "/r" "${LOCALDIR1}-BackupBy${APP}Portable"
Rename "${LOCALDIR1}" "${LOCALDIR1}-BackupBy${APP}Portable"
FunctionEnd
;If the program only create one foder in Dati applicazioni, otherwise: !define LOCALDIR2 etc.
Thanks Bernat but 2 of my favourites programs wouldn't work with ThinApp (GomPlayer and Perfect Disk). So this procedure i hope works.. but i can't do this because of my poor knowledges ;)
Bernat, how would someone manipulate your launcher so that it does not display your splash screen? I fully understand that the .ini file could be manipulated by setting the DisplaySplashScreen=True but sometimes, if the portable is not too big, I will RAR all the files into one exe file and run it that way; however, when doing this, the splash screen will still appear as the ini file does not hold its setting after all files have been RAR'd into one exe. Is there a solution to what I want to do?
No solution: I don't want my portables shared splash disabled (I want user know origin).
"RAR all the files into one exe file and run it that way" is a bad use if you extract every time silently in temp: you don't keep settings.
Sometimes I saw on the web my portables packed in this stupid way.
I do not change the structure which you have put in place when I RAR files. Everything extracts the same exact way when I RAR files; however, I do understand what you are saying. You may not be a big fan of RAR, but that does not mean that I am stupid for using it in the manner in which I do. I personally try to use better grammar when communicating with someone; regardless of their origin or location.
Sorry, it's difficult for me to write in english.
The "stupid" was for those who share my portables in sfx RAR (someting_portable_by_myself) extracting silently in temp and splash disabled in ini.
This was not of course for you.
Splash reappears if you change path of portable but still disabled if you only change drive letter (plug USB on another computer).
Thanks Bernat for the help,i understand.
Last help please,
the variable to define C:\Documents and Settings\dan\Impostazioni locali\Dati applicazioni
what is?
This is $LOCALAPPDATA
(either current or all)
Thanks again Bernat!! your help is gold!!
Added at the end of the tut the script of and exe to write the values of all NSIS constants in an ini file.
Added also missing links to Registry and FindProc.
This is a very good job Bernat!!
everything is now easier.
Thanks AGAIN!!!
THank you Very much . I wait for this for along time . thanks
Now that i remember, i have noticed that there is no code for the: SplashScreenName=
you could tell me what is the code to be included in NSIS for SplashScreenName=
thanks in advance Bernat.
Minor customization, just compile with the splash of your choice.
hey man thanks for this info
WinUe Sigue said...
I made several programs based on your tutorial. Work well, but note that it has a considerable delay. Open quickly, but that the hourglass indicates that the process is not completed, it remains there for several seconds. For example, I got the "My Drivers" here: http://rapidshare.com/files/231165600/MD.RAR.html
Any error code?
No error code, with NSIS launchers cursor is busy few seconds but you can use program.
About MyDrivers, should be better backup MyDrivers.ini in Data and also backup-restore registry key and files of an installed MyDrivers.
A minimal script:
;--- Start MyDriversPortable.nsi ---
WindowIcon Off
SilentInstall Silent
AutoCloseWindow True
OutFile MyDriversPortable.exe
Section
FileOpen $0 "$WINDIR\system.sys" w
FileClose $0
WriteRegStr HKEY_CURRENT_USER "Software\Microsoft\Windows\CurrentVersion\IPSec" "RISCx86" "02/01/1900 18:00:00"
WriteRegStr HKEY_CURRENT_USER "Software\Microsoft\Windows\CurrentVersion\IPSec" "DriverUpdate" "02/01/1900 18:00:00"
WriteRegStr HKEY_CURRENT_USER "Software\Microsoft\Windows\CurrentVersion\IPSec" "UserName" "your_name_here"
ExecWait "$EXEDIR\App\MyDrivers\MyDrivers.exe"
DeleteRegKey HKEY_CURRENT_USER "Software\Microsoft\Windows\CurrentVersion\IPSec"
Delete $WINDIR\MyDrivers.ini
Delete $WINDIR\system.sys
SectionEnd
;--- End MyDriversPortable.nsi ---
This "cursor is busy few seconds" disappears if we add the splashscreen (with schowtime = 0).
For example:
Function .onInit
SetOutPath $TEMP
File /oname=spltmp.bmp "ar.bmp"
advsplash::show 0 600 400 -1 $TEMP\spltmp
Pop $0
FunctionEnd
Appears to be an annoying bug of NSIS.
It should not happen, because when the program was completed run "ExecWait "$EXEDIR\..\MyDrivers.exe"" does not have anything more to do.
As Roberto said (in http://portableappz.blogspot.com/2009/04/portable-flashget-173-196-multilang.html):
"When I disable the splash screen in the .ini, the program takes 3 times longer to start"
(until the cursor ceases to be busy)
I was trying to remove the "cursor is busy" effect and minimize the splash screen. Tried changing values of Delay, FadeIn and FadeOut and the size of splash.bmp. The minimum values are:
advsplash::show 40 0 0 -1 $TEMP\spltmp
(with delay=20 not works)
and bitmap must be a minimum of 2X2 pixels
(with 1x1 not works).
Sorry if something bad writing, use the google translator.
Cursor buzy not a problem for me: I can use even if "buzy".
Is is possible with this way creating portables to make portable apps like ACDSee, Flash CS4, Sound Forge 9 and other rarely portable apps?
Unfortunately no.
I think only virtualization can do.
Dear Mr . Bernat
thank you for this great tutorial but I can't understand what is the point with the big programs like Adobe progrmas
I want to aske you to simplify the tutorial in a points and make the sample program you want to teach us one of the big applications like photoshop or Illustrator .
thanks again for your time
Adobe products are complicated to be portabilized with launcher and it would be too complicated so to explain.
If you read comments, many users have problems using my Adobe portable.
Simpliest is to use ThinApp.
Ok thanks I alredy use Thinapps but I didnot work all the time some programs didnot work with the new version of thinapp old version was working good .
and I do not want to merg application with 1 giga size in one file without updae and other stuff what I want to add to my aplication .
my some advices will be great from you in this way .
thanks
Hello Bernat,
The questions asked here are very usefull, thanks for your time.
My question is:
is it possible in the installation menu the option to create a folder in the Start menu (All Users) to run the application for users with Portables on their PC?
I have several times tried to do this with NSIS, but it is until now not successful.
Alexei
Not tried but of course it's possible: NSIS is an installer.
I will not add this feature in my installers because it is not portable.
I use PStart to run my portable apps because I can use subfolders.
Thank you for your reply Bernat.
I downloaded PStart and will see if I can use it.
Very appreciated,
Alexei
Bernat said:
->I downloaded PStart and will see if I can use it.<-
Thank you for the tip, it is very user-friendly software.
Alexei
What version of Total Uninstall do You recommend? On official site there is only 5.4.0, do You have any other and are You able to share it?
@Bernat
Might I suggest creating a forum? It would be a better way to post your PortableAppZ as well as tutorials. You could create one section for Stable Releases of PortableAppZ, another section for Beta Releases of PortableAppZ, one for user-submitted PortableAppZ that they made using VMware ThinApp and a final section for Tutorials and FAQs.
It would be an easier and more viewer-friendly way for us to comment on your ingenious work. Would also allow users such as Josh, myself and you to provide support to those that need assistance.
If you like my idea, please take a look at FreeForums.org
@Sean
Of course a forum would be better but I have no time to do more.
If you create such a forum I will link here.
@Bernat
I have created the forum. I am setting it up now and will let you know when it is done. You can view the forum here
@GrzegorzJZD
Portable Total Uninstall 4.10 added
*.tun files are kept in MonitoredApps.
Mirror
Total Uninstall 4.10
my EMEditorPortable no edit files as external file editor in TotalCommander by F4
GoldWave is OK
Did you associate EMEditorPortable to F4 in TotalCommander settings?
Your launcher EMEditorPortable must pass received parameters.
Can you share the sources code?
Did you use latest registry.dll (v4.1)?
SetRegView 64
needs
!include "x64.nsh"
Tested working on Windows 7 x64.
Interesting but there is more more than one ${_CLSID} to register a dll.
If there is a local dll not registered: the local program is not correctly installed.
Thanks.
I will have a look.
Hey Bernat, any chance you can upload your latest template and NSIS build? I assume you updated it over the years and I can maybe learn a thing or two.
NSIS is 2.46 ANSI
Template is to use removing many useless lines.
Many thanks, Bernat. I didn't expect an answer so soon though.
I was asking, because I sometimes have "issues" with PortableApps' Launcher and going back to "basics" (which means you) seems the way I have to go. And from my first glance at it, I saw that there is most (if not all) of the stuff I need.
But one... well, two things surprise me though. That you use the ANSI build and not the Unicode build and you haven't updated to NSIS v3.01 (yet?).
ANSI for some plugins and the encoding of old scripts.
I tried NSIS 3.0 but I had an error probably with FindProcDLL (displaying Last exit of ... in place of Another... when running a second instance) so I went back to 2.46
What happened to your proxima domain?
I don't know.
This domain was offered by Kürşad Ölmez at the beginning of this blog.
Hey Bernat,Can you upload your latest template again,
I am learning to make a portable version
By the way
Do you still use NSIS is 2.46 ANSI?
Yes I still use NSIS 2.46 ANSI (sometimes Unicode for language)
Template
Thank you very much for your prompt reply, which was very helpful to me
I am getting file not found when I run this.
Template
I do nothing to prevent to extract *.nsi file from compiled exe.
I use 7-Zip to open NSIS compiled exe and script is not present.
7-Zip 15.05 is the latest version that can extract [NSIS].nsi
Just for fun, how to make a transparency bmp online to use it on the ini file.
Any website?
As always, nice job doing all portables!
Thanks.
I don't know online image editor.
The area you want to be transparent in your bitmap must be in the color magenta (0xFF00FF).
Post a Comment