This tutorial will explain how to make WhatsApp desktop application portable on Windows platform. Maybe this can work for other platforms as well.
For this to work NodeJs and asar package are required.
Firstly download latest version of WhatsApp. The following link contains all Windows (x64) releases:
https://web.whatsapp.com/desktop/windows/release/x64/RELEASES
Find the release with the highest number that has full suffix. For example WhatsApp-0.2.2478-full.nupkg
The download link would be:
https://web.whatsapp.com/desktop/windows/release/x64/WhatsApp-0.2.2478-full.nupkg
Once downloaded unpack it (it's standard zip file), and go to the \lib\net45 folder. This folder contains the actual application. Copy the contents of that folder to your portable destination. For this example E:\WhatsAppPortable.
Within that folder delete the squirrel.exe to disable automatic updates.
If Node and asar are already installed, this step can be skipped.
Go to https://nodejs.org/download/release/latest/ and download version that ends with -win-x64.7z.
Unpack that archive to E:\node for example. Open cmd.exe, go to Node's folder and install asar.
C:\>cd /d E:\node
E:\node>npm install asar
While at cmd unpack electron.asar package from E:\WhatsAppPortable\resources\ folder using asar's extract archive
asar extract E:\WhatsAppPortable\resources\electron.asar E:\WhatsAppPortable\resources\electron_extract
Now go to E:\WhatsAppPortable\resources\electron_extract\browser\ and edit the init.js file using any text editor.
Find the following lines:
app.setPath('userData', path.join(app.getPath('appData'), app.getName()))
app.setPath('userCache', path.join(app.getPath('cache'), app.getName()))Replace them with:
var appProfileDir = "Profile"
for (let arg of process.argv) {
if (arg.indexOf('--profile-dir=') === 0) {
appProfileDir = arg.substr(arg.indexOf('=') + 1)
}
}
var profilePath = path.join(path.dirname(process.execPath), appProfileDir)
app.setPath('userData', profilePath)
app.setPath('userCache', profilePath)Save the file and pack it with asar:
asar pack E:\WhatsAppPortable\resources\electron_extract E:\WhatsAppPortable\resources\electron.asar
The electron_extract folder in E:\WhatsAppPortable\resources\ can be deleted now.
In the previous step the --profile-dir switch is added and Profile is set as default folder. If the WhatsApp is started without the switch it will create and use Profile folder.
If it is started like this:
WhatsApp.exe --profile-dir=MySecondNumber
it will create MySecondNumber folder ad use it as a profile folder.
This provides the ability to run multiple instances of WhatsApp with different profiles on the same computer.
Adding something like this profile-dir switch can probably be used to make any Electron application portable as long it is not using appData path elsewhere the code.
GB WhatsApp old versions remain popular because they offer advanced customization, privacy controls, and extra messaging features that many users still prefer. Especially after testing different releases, versions like gb whatsapp old version 6.85 download and GB WhatsApp Old Version 17.30 APK stand out for their smooth performance and useful features.
Custom themes and interface options
These versions provide extensive customization, including themes, fonts, icons, and chat styles.
Better privacy controls
Users can hide online status, blue ticks, typing indicators, and even view deleted messages.
Smooth performance on older devices
GB WhatsApp old version 6.85 download is often preferred for its lightweight performance on low-end Android phones.
Advanced messaging features
Features like auto-reply, message scheduling, and anti-delete messages make communication more flexible.
Larger media sharing support
Users can send bigger videos, high-quality images, and larger files without heavy compression.
Dual WhatsApp account support
Both versions allow users to manage multiple WhatsApp accounts on the same device.
Stable and user-friendly experience
Many users find gb whatsapp old version 17.30 apk download stable, fast, and easy to use compared to some newer releases.