You are here 705137

KeeXC Portable Single Instance 163d64

5 posts / 0 new
Last post
hgtok
Offline
Last seen: 1 month 3 days ago
ed: 2021-07-22 21:14
KeeXC Portable Single Instance

(Cross posting to Development Forum https://portableapps.sitesunblocked.org/node/71332)

Hi, I would like to request for proper for single instance in the Launcher.

The app has an option to toggle single instance, but the Launcher ignores it and runs multiple instances.

According to https://portableapps.sitesunblocked.org/manuals/portableapps.sitesunblocked.orgLauncher/ref/launcher.i..., the SinglePortableAppInstance flag is false by default, which should resolve this issue.

Thanks

John T. Haller
John T. Haller's picture
Offline
Last seen: 8 hours 42 min ago
DeveloperTranslator
ed: 2005-11-28 22:21
Just Launches

The KeeXortable.exe launcher launches KeeXC.exe without any command line options or anything that would make multiple instances appear. If the app itself has a single instance mode and it is set, the launcher isn't doing anything that should interfere with it.

Sometimes, the impossible can become possible, if you're awesome!

hgtok
Offline
Last seen: 1 month 3 days ago
ed: 2021-07-22 21:14
still not ed for 2.7.10

hi John, i'm not sure if there were many changes since a year back, but i have perform the testing with the latest 2.7.10:

testing with KeeXC.exe directly:
1. launch first instance of App\KeeXC\KeeXC.exe
2. ensure single instance of KeeXC is enabled in Tools > Settings > Startup (otherwise enable it and restart exe from step 1)
3. launch second instance of App\KeeXC\KeeXC.exe
4. KeeXC would detect previous instance correctly, and opens the first instance

however this does not work with KeeXortable.exe:
1. launch first instance of KeeXortable.exe
2. ensure single instance of KeeXC is enabled in Tools > Settings > Startup (otherwise enable it and restart portable from step 1)
3. launch second instance of KeeXortable.exe
4. KeeXC would NOT detect previous instance, and opens another separate instance

This shows that KeeXortable is interfering with the KeeXC single instance detection.

John T. Haller
John T. Haller's picture
Offline
Last seen: 8 hours 42 min ago
DeveloperTranslator
ed: 2005-11-28 22:21
QLockFiles and TEMP

Looks like KeeXC is using Qt's QLockFiles to track instances instead of standard Windows APIs for processes or CreateMutex. QLockFiles uses TEMP files to try to track processes instead. This gets messy when we're trying to keep an eye on any TEMP files that KeeXC itself is leaving behind.

You can disable the TEMP containment by opening up the KeeXortable.ini file within KeeXortable\App\AppInfo\Launcher and adding the line CleanTemp=false to the end of the [Launch] section.

I'll need to figure out if this will leave anything behind and, if not, include this change in the next release.

Sometimes, the impossible can become possible, if you're awesome!

hgtok
Offline
Last seen: 1 month 3 days ago
ed: 2021-07-22 21:14
testing with TempForPortableApps

yes! single instance works with CleanTemp=false as you have suggested.

assuming testing using TempForPortableApps could address your concerns

  1. testing without CleanTemp=false shows this structure:
TempForPortableApps/
KeeXortableTemp/
keexc-name.lock
nse6FBC.tmp/
launcher.ini (and files)

nse6FBB.tmp

  1. while testing with CleanTemp=false shows this structure
TempForPortableApps/
nse6FBC.tmp/
launcher.ini (and files)

keexc-name.lock

nse6FBB.tmp

both testing does not leave any files behind in TempForPortableApps

to post comments