Confirmed users
394
edits
| Line 75: | Line 75: | ||
== Applying an update from the service's perspective == | == Applying an update from the service's perspective == | ||
*The service gets started | *The service gets started | ||
*The service watches the work item directory for work items. | *The service watches the work item directory for work items. | ||
| Line 83: | Line 82: | ||
*The service will execute the update with updater.exe under the context of its own session (session 0) using CreateProcess. | *The service will execute the update with updater.exe under the context of its own session (session 0) using CreateProcess. | ||
*The path of updater.exe will be a copy of the updater.exe which exists inside the service directory. (A copy in case the original gets overwritten during the update). | *The path of updater.exe will be a copy of the updater.exe which exists inside the service directory. (A copy in case the original gets overwritten during the update). | ||
*The post update process (helper.exe) currently does i) system level stuff, and ii) user level stuff. This component will be executed twice. The system level stuff will also be executed under session 0 using CreateProcess. The user level stuff will be executed | *The post update process (helper.exe) currently does i) system level stuff, and ii) user level stuff. This component will be executed twice. The system level stuff will also be executed under session 0 using CreateProcess. The user level stuff will be executed by the unelevated updater.exe with its own session ID. | ||
* | *The service sets a global named event to let the unelevated udpater.exe know it is done working. | ||
== When the service fails == | == When the service fails == | ||