Hello Denis,
The Phyloboite.exe program, when executed, launches the _Phylo00.exe process. I can indeed kill both processes by killing the child process _Phylo00.exe, either with a command prompt or in the PyScripter command-line interpreter using killalltasks. (To do this, however, I must go through the Task Manager, minimize the process which, once launched, occupies the entire screen and not a window, and then launch a command prompt or PyScripter).
The main problem is that the portable application I want to deploy (Phyloboite.exe) requires administrator privileges to run. To resolve this, I created a registry key in the install() function so that all users can run the application with administrator rights and in compatibility mode with Windows XP SP3
Code: Select all
registry_setstring(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers","C:\AppsPortables\Phyloboite\Phyloboite.exe","~ RUNASADMIN WINXPSP3 RUNASINVOKER", type=REG_SZ)
The problem is that despite this, once the application is deployed on workstations, it is actually necessary to open the application once with an administrator account before users can themselves launch the application with administrator rights.
To bypass this UAC issue, I wanted to try opening and then closing the application during installation. After several attempts, and due to the inoperability of `killalltasks` in `install()`, I created an executable file (from a .bat file) that does this and is launched during installation (within the `install()` function). Installation/uninstallation tests using PyScripter show no particular problems; the application opens for a few seconds (3), then closes, and the installation completes. However, after a real-world deployment test with the machines shut down, the application installation fails to complete and seems to run indefinitely.
Do you have a solution to this problem of a portable application requiring administrator rights to be launched?
ps1: For your information, the .bat file from which the .exe file is created contains the following commands:
Code: Select all
start C:\AppsPortables\Phyloboite\Phyloboite.exe && timeout /t 3 && taskkill /f /im "_Phylo00.exe"
(ps2: another curious thing is that the killalltasks function does indeed kill the _Phylo00.exe process that is running during uninstallation when the uninstall() function is called).
Thank you in advance