Skip to content

add program mutex, tray icon, portable install improvement#34

Open
ghost wants to merge 3 commits intomasterfrom
unknown repository
Open

add program mutex, tray icon, portable install improvement#34
ghost wants to merge 3 commits intomasterfrom
unknown repository

Conversation

@ghost
Copy link

@ghost ghost commented Dec 9, 2019

  1. no use to run multiple, so add a program mutex to only allow one tallow :)
  2. (close to) tray icon with a controlling menu and program option to control the behaviour
  3. running portable now allows one to completely delete the program folder when done (sys file unlock)
    more comments in the code, you can remove them once/if pull is approved

@basil00
Copy link
Owner

basil00 commented Dec 11, 2019

Thanks for your efforts. I think the mutex and tray icon are good improvements. Uninstalling WinDivert is more tricky since this can interfere with other WinDivert applications that may be running on the system. I need to think about it.

@ghost
Copy link
Author

ghost commented Dec 11, 2019

on the portable uninstall/stop thing, just an idea

//this will only stop the service if it was initiated by the potable
//at_exit:
if (portable_install && installed_service_folder == tallow_fodler)
	stop_service();

the bad scenario: tallow run as portable & user has some other proggie using the service & user starts the other while tallow is active, tallow would send the stop leaving the other without service... or maybe check some WinDivert state change at start and exit of tallow? not familiar with it

When running in portable mode(ie not installed) it will send a stop
control to the service in order to unlock the file so that the user
can(eventually) delete the portable folder, however do this only if
the service runs from the portable folder(don't stop an instance of
the service if created/started by another program)
@basil00
Copy link
Owner

basil00 commented Dec 12, 2019

Stopping the service will lead to problems, so best to remove this functionality. I think it may be possible to do safely using the REFLECT api and some undocumented features, but this should be done by the WinDivert runtime and not the application. I will look into it in future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant