J'ai donc un service C# Windows qui sur certains systèmes où il n'y a pas d'accès à Internet ne démarre pas. Il essaie de démarrer mais expire avant que le service ne soit démarré. Je suis incapable de reproduire le problème dans un environnement de développement, mais l'ai vu plusieurs fois sur d'autres systèmes (généralement w2k3). Lorsque je mets mon service en mode débogage, la première chose que je fais est de créer un fichier journal sur le PC local, mais ce fichier n'est jamais créé, donc je crois que le code OnStart n'est jamais appelé.Windows service provoque la mise à jour du certificat racine sur le système sans accès à Internet
Sur l'un des systèmes que nous avons vu une entrée du journal des événements qui nous a conduit à cet article KB: http://support.microsoft.com/kb/317541
Ainsi, en suivant l'article en arrêtant le service de mise à jour du certificat racine ou de connecter l'appareil à Internet notre service commencerait maintenant. L'autre chose intéressante est que nous avons 3 services tous commencent avec un code presque identique mais c'est toujours un des 3 qui ne démarre pas. Voici notre code de la méthode OnStart:
if (args.Length > 0)
{
if (args[0].ToLower().Equals("debug"))
{
string AppLog = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
string locallogpath = Settings.Settings.ServiceLogFileLocation.ToString();
if (!Directory.Exists(locallogpath))
{
Directory.CreateDirectory(locallogpath);
}
LogFileName = Path.Combine(locallogpath, AppLog + ".htm");
try
{
_logFile = new StreamWriter(new FileStream(LogFileName, System.IO.FileMode.Create));
_logFile.WriteLine(htmlHeader + "<span class=lognormal>Service Started!</span><br>");
_logFile.Close();
}
catch { }
IsDebug = true;
}
}
Ma question est ce que nous pourrions peut-être faire cela entraînerait la mise à jour du certificat racine ne se produise donc quand aucune connexion Internet est disponible?
Merci pour l'info ... Je ne pense pas qu'aucun de nos assemblages est signé, mais je vais devoir vérifier cela pour être sûr. – BigTundra
J'ai vérifié et nous signons en effet une de nos assemblées. Cela semble être le problème. Je vous remercie! – BigTundra
Excellent! Heureux d'avoir pu aider; Je sais que je déteste avoir des choses comme ça où je ne sais pas exactement pourquoi elles se produisent! –