Le uniche informazioni che ho trovato su questo problema sembrano indicare la distribuzione clickonce.
Non c'è soluzione apparentemente nessun conosciuto dal momento che si deve usare un profilo non temporanea, al fine di effettuare le chiamate che si stanno facendo ...
A quanto pare si sembrano aver risposto alla tua domanda guarda qui ...
Voglio nel mio codice verificare l'utente ha un profilo temporaneo.
Come posso verificarlo?
E la risposta è ...
Se l'utente che esegue l'apllication ha un profilo temporaneo, ottengo un eccezione: CryptographicException: "Il profilo per l'utente è un temporanea profilo."
Sembra abbastanza semplice, se si ottiene questo errore è necessario eseguire utilizzando un profilo diverso. Si potrebbe avere un metodo di prova che esegue questo codice come controllo prima di eseguire il codice effettivo.
Ho sentito parlare di un altra opzione, però, assumendo questo è nel contesto di una domanda di asp.net si dovrebbe essere in grado di ottenere il profilo corrente come questo ...
ProfileCommon profile = HttpContext.Current.Profile as ProfileCommon;
Da lì si dovrebbe essere in grado di interrogare l'istanza profilo, credo che il suo un tipo di ProfileBase documentato qui ...
http://msdn.microsoft.com/en-us/library/ms151820(v=VS.100).aspx
Spero che questo aiuti a chiarire le cose un po 'per voi.
non lo stesso caso d'uso, ma questa è una domanda simile - http://stackoverflow.com/questions/43762021/programmatically-detect-that-user-has-logged-in-with-temporary-profile – William