refactor service to make it restart after login to avoid delegate caught for seconds after login
also make main windows Close event restart itself for above case
* There is no relevant information, but I found that each session has a unique sihost.exe, and the user name of the process is consistent with the user name of the session, and after using the task manager to kill this process, it will automatically restart. Checking sessionUserName=siHost UserName may be unnecessary, but since there is no evidence, check it anyway.
* GetFallbackUserPid is called only when explorer.exe does not exist.
* ProcessHacker shows that the tokens of explorer.exe and sihost.exe are the same, I know little about it.
Signed-off-by: 21pages <pages21@163.com>
* I reproduced the issue, that process did't have title, couldn't be connected
to and taskkill not work
* Test whether ipc is opccupied with enumerating named pipe
* With NtTerminateProcess, it was killed successfully.
* There is a way to find the exact process which occupy the ipc, I have
not check it, it's from https://github.com/winsiderss/systeminformer
Signed-off-by: 21pages <sunboeasy@gmail.com>
This is to avoid uni link not working
Other change: The install window now has the title "appname - Install" to distinguish it from the main application window.
Signed-off-by: 21pages <pages21@163.com>