J'ai écrit un code C# qui doit avoir le droit administrateur. En utilisant cette application, j'essaye de créer une application Outlook/article de courrier afin d'ouvrir une fenêtre de composition de perspectives. Toutefois, Outlook 2013 est déjà en cours d'exécution sans droit d'administrateur. J'utilise le code suivant, mais étant donné que l'élément application/mail créé et l'instance de outlook en cours d'exécution ont des privilèges différents, une exception est générée.Création d'une application/d'un élément de courrier Outlook sans droit d'administrateur à l'aide d'une application C# dotée du privilège d'administrateur
Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook.MailItem mailItem = app.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
est-il de toute façon de créer l'élément d'application/mail en tant qu'utilisateur actuel au lieu d'administrateur (quelque chose de similaire à l'exécution d'un processus en tant qu'utilisateur actuel en fournissant le nom d'utilisateur et mot de passe de l'utilisateur actuel)?
Outlook doit être exécuté sans administrateur droit afin d'avoir un service d'indexation fonctionnel.
Voici les détails d'exception:
System.Runtime.InteropServices.COMException was unhandled
HResult=-2146959355
Message=Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
Source=mscorlib
ErrorCode=-2146959355
Oui. Il ne fonctionne pas même avec l'emprunt d'identité (LogonUser + Impersonate) –