So far, I've been checking that my apps are portable by putting them in the D: drive, and seeing if they run, and don't write to AppData. Are these all the checks I need to make, or is there some technicality that could mean the app still isn't portable?
https://en.wikipedia.org/wiki/Portable_application#Portable_Windows_appl...
https://portableapps.com/development/portableapps.com_format#hostpc
“My brain is only a receiver, in the Universe there is a core from which we obtain knowledge, strength and inspiration. I have not penetrated into the secrets of this core, but I know that it exists.”
― Nikola Tesla ―
I'm not going to read the whole wikipedia page just to find out if there's a technicality.
There are two links, including enough informations to satisfy you. It doesn't require a deep concentration.
“My brain is only a receiver, in the Universe there is a core from which we obtain knowledge, strength and inspiration. I have not penetrated into the secrets of this core, but I know that it exists.”
― Nikola Tesla ―
Our guidelines for what portable is are here: https://portableapps.com/about/what_is_a_portable_app
We verify them in a clean virtual machine and use something like RegShot.
Sometimes, the impossible can become possible, if you're awesome!
What I'm saying is there's at least two ways an app can fail to be portable. It can write in the registry, or it can save in AppData, in which case it could theoretically run from an external drive, but it wouldn't be saving on that drive. I want to know if there's a third thing I haven't thought of that would prevent an app from being portable.
Some apps will store things in Documents unprompted. Some will create a PROGRAMDATA path or store things in LOCALAPPDATA.
Additionally, as paths change (drive moves between PCs, synced cloud folder to a different path) some things can break. It could be as simple as the Most Recently Used file list or it could mean plugins/extensions disappear or lose their settings, etc.
Sometimes, the impossible can become possible, if you're awesome!
So how do you know which folders to check when you test an app?
That's what something like RegShot is for. It takes a snapshot of the registry and all files/folders at different points in time and then you can compare them.
Sometimes, the impossible can become possible, if you're awesome!
All files? Not just the registry?
You can select what to monitor file-wise. I check all of C: in a clean Windows virtual machine with nothing else running. Snapshot before running and after and compare.
Sometimes, the impossible can become possible, if you're awesome!
Does regshot need to be on the guest machine, or only the host machine?
You run it on whatever machine you're testing the app on.
Sometimes, the impossible can become possible, if you're awesome!
What do you use for the VM?
I user VirtualBox at present with installs of Windows XP through 11 both 32-bit and 64-bit as well as Ubuntu and ReactOS for testing. But that's because I run things here and need to be thorough for testing.
Sometimes, the impossible can become possible, if you're awesome!
So, let's say I want to suggest an app that I think is already portable. Should I test it with a VM at all before suggesting it?
If possible, it's helpful. But it's not necessary. Include as much info as you can (example: -data allows the user to redirect data, setting environment variable X helps with Y, it leaves stuff in APPDATA\AppName, it leaves a registry key HKCU\Software\AppName, etc).
Sometimes, the impossible can become possible, if you're awesome!
Is it possible for an app to be portable on one version of windows, and non-portable but still functional on another?
In theory it is. In practice, I can't recall one that was specifically, but I seem to remember one app where the way to portablize it was different in older vs modern Windows.
Sometimes, the impossible can become possible, if you're awesome!
Probably a stupid question, but is there a portable version of vb?