Is there a way I can force an application on Windows to be a single-instance application, i.e., not launch if another instance of the same application is already running? Ideally, I want to be able to do this without needing to replace the actual application with a stub, but I would not mind using one if really necessary.
feedback
|
|
normally you have to implement that "singleton" feature right into the application. if you want to guard it "from the outside", you have to use a wrapper which checks, if you have another instance running already. there might be more solutions to this but i once did the trick with nsis. the idea is this:
| |||||||||
feedback
|
|
Unless there is a workaround you can apply with the Application Compatibility Kit that enables this – which I doubt (it isn't the kind of thing that itself breaks compatibility1) – then there is no setting in Windows. Other than a launcher application the other approach would be to monitor for new processes (eg. WMI instance creation events for 1 Of course a fix might be needed where an application uses an unsupported mechanism to detect multiple instances of itself so the detection mechanism needs a shim. | |||
|
feedback
|