none
Restart Manager fails to restart an application for standard users in Windows 7 RRS feed

  • Question

  • We are using Restart Manager to restart an application after an msp update. When the application starts it checks to see if there is an update and, if there is, it runs the msp by starting a new process based on msiexec.exe with the necessary parameters to start the msp file. We wait for 60 seconds before running starting the update as required by restart manager.

    All of the above works fine when logged in as an administrator: the app shuts down, the installer runs, and then the app is restarted by restart manager.

    The problem is, when logged in as a standard user, the app fails to restart, though all the other parts of the upgrade work correctly and without an error message. We use certificates to permit standard users to patch the app.

    The only clue to the problem is an event log warning from restart Manager:-
    Application 'C:\Program Files (x86)\xx\xx\xx.exe' (pid 4036) cannot be restarted - Application SID does not match Conductor SID..

    What does "Application SID does not match Conductor SID" mean? I have Googled this error message extensively and found no explanation anywhere.

    If you could provide a solution to this problem I'd be grateful.


    Thanks,

    Alastair

    Tuesday, April 9, 2013 12:11 PM

All replies

  • Hi Alastair,

    Thanks for your post.

    I'm not very familiar with Restart Manager. Do you mean the msp update works, however there is some problems with Restart Manager?

    Are you using any Restart Manager API to do the tasks?

    Any information will be appreciated.

    Best regards,


    Chester Hong
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Thursday, April 11, 2013 6:10 AM
    Moderator
  • Hi Chester,

    Yes, the msp update works but there is a problem with Restart Manager. We are using the Restart Manager API to do the tasks. Restart Manager fails to restart the application when logged in as a standard user. Restart Manager only works correctly when logged in as an administrator.

    We call the Restart Manager API with
    var com_result = UnsafeNativeMethods.RegisterApplicationRestart(null, UnsafeNativeMethods.RestartFlags.NONE);

    When Restart Manager fails the following Warning from Restart Manager is found in the event log :
    Application 'C:\Program Files (x86)\xx\xx\xx.exe' (pid 4036) cannot be restarted - Application SID does not match Conductor SID..

    Thanks for any insight on how to solve this.

    Kind regards,

    Alastair
    Thursday, April 11, 2013 8:40 AM
  • Hi Alastair,

    Thanks for the information.

    I'll try to involve some other engineers who are more familiar with this issue.

    It may take some time to get the response.

    You patience will be appreciated.

    Best regards,


    Chester Hong
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Friday, April 12, 2013 5:04 AM
    Moderator
  • Hi Alastair,

    I did some reasearch and found this is not a coding issue.

    I just found a similar case in our internal database that another customer was asking about this error. FYI:

    *********************************

    the error ”Application SID does not match Conductor SID” will be generated whenever the user account the service is being run under does not match the user account used to launch the setup instance. The term “Conductor” refers to the MSI setup engine. It also appears that if the setup is executed with elevated permissions (Run As Administrator), then the SID check is bypassed. This behavior is by design and is intended to prevent the malicious restarting of critical system services.

    *********************************

    For example:

    If you have MsiRunningElevated=1(in msi log), this should be the case because services are automatically elevated when run under an administrative account. In the routine that marks a service for restart, there are a half-dozen API calls that could fail.

    So I don't think there is anything we can do other than meet the above conditions.

    Thanks,


    Alan Yao [MSFT]
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Friday, April 12, 2013 7:06 AM
  • Hi Chester,

    Thanks for your research on this.

    If I understand the information correctly: for Restart Manager to work both the MSI Patch and the application restart need to be run under the same level of privileges? 

    If so, I don't see a solution for us because the MSI Patch must run with elevated privileges but the application restart will run under the privileges of the logged in user who is a standard user. 

    It looks like Restart Manager will not work for us by design, even though we are running a standard exe, not a service.

    Is this understanding correct?

    Many thanks,

    Alastair
    Friday, April 12, 2013 8:28 AM
  • Are you using custom actions on any of this ? Or is it all just Restart Manager in your application and a patch is being applied?

    Does it work if you just apply the patch manually?

    Why are you using an msiexec command line? It's vaguely possible that's something to do with this because you're delegating the patch install to an msiexec process instead of calling MsiApplyPatch.


    Phil Wilson

    Monday, April 15, 2013 6:19 PM
    Moderator
  • The patch is launched as part of an automatic update process. Everytime the app starts it checks via a web service to see if a higher version is available. If there is, the msp file is downloaded and launched on a new process using msiexec.exe + appropriate parameters to run the patch. The application is not closed until Restart Manager closes it when the msp file runs.

    When logged in as an administrator it all works correctly and restart manager successfully restarts the application. When logged in as a standard user it works as expected except that restart manager fails to restart the application.

    Applying the patch manually is not a useful test because there would be no call to RegisterApplicationRestart().

    There are no custom actions involved in the use of Restart Manager.

    Thanks,

    Alastair

    Monday, April 15, 2013 7:59 PM
  • I am having the same issue on a machine. I am going to use sys_tweak to repair all file permissions and see what my result's are. My customer complains she is having BSOD's on Windows 10 after I removed several hard-core malicious trojans, other viruses, and MalWare. 

    I haven't found signs of a BSOD, but I have several flags of this same issue, same error code, to a T.

    I will follow up shortly. 

    Friday, September 2, 2016 5:37 PM
  • I solved my issue. My client is on Windows 10, as I mentioned above. She has a Live account to login to her desktop. Her Time was not Synced, so system manager kept crashing upon attempting to update the time. 

    Adjusting the time settings and forcing to update time with windows or nist.gov both are viable options which worked for me. 

    Friday, September 2, 2016 5:42 PM
  • Hi Alastair,

    I did some reasearch and found this is not a coding issue.

    I just found a similar case in our internal database that another customer was asking about this error. FYI:

    *********************************

    the error ”Application SID does not match Conductor SID” will be generated whenever the user account the service is being run under does not match the user account used to launch the setup instance. The term “Conductor” refers to the MSI setup engine. It also appears that if the setup is executed with elevated permissions (Run As Administrator), then the SID check is bypassed. This behavior is by design and is intended to prevent the malicious restarting of critical system services.

    *********************************

    For example:

    If you have MsiRunningElevated=1(in msi log), this should be the case because services are automatically elevated when run under an administrative account. In the routine that marks a service for restart, there are a half-dozen API calls that could fail.

    So I don't think there is anything we can do other than meet the above conditions.

    Thanks,


    Alan Yao [MSFT]

    I have fresh install of windows on my PC.  This PC has exactly 1 user account.  On this one user account, I'm playing a game, SubNautica.  I generate "Application 'C:\Program Files\NVIDIA Corporation\ShadowPlay\nvspcaps64.exe' (pid 6252) cannot be restarted - Application SID does not match Conductor SID.." which causes me to have my system lock up.  No additional information is displayed on my screen, nor can I move my mouse, use keyboard input (Ctrl+Alt+Del, Shift+Tab, Windows Key, or lock my computer).  This happens when I'm playing pretty much any game within 30 seconds of launch to 4 hours after launch.  It also can occur when I'm watching youtube, streaming movies, or have my computer idle and I come back to it after taking a break for a cup of coffee.

    Can you please clarify your above statement?

    Thank you,

    The Dragon Born

    Thursday, December 22, 2016 12:54 PM
  • If I start with local administrator account, my Excel is running very well.
    I I start with local user accoutn, my Excel dosen't work; it's blocked .
    A problem with the local access rights for this local user account ?

    Friday, January 18, 2019 9:54 AM