pat=/(^|\(:nl:\))\(:markup:\)[^\S ]*\[([=@])((?: `\.!+.*?)+)\2\]/seimpat=/\(:markup(\s+([^ ]*?))?:\)[^\S ]*\[([=@])(.*?)\3\]/seipat=/\(:markup(\s+([^ ]*?))?:\)[^\S ]* (.*?)\(:markupend:\)/seipat=/\(:source\s+(info|langs)\s*:\)/iepublic class MyApplicationPluginFileHandler : BaseFileWorker_Plugin { PageUI userPage = null; public MyApplicationPluginFileHandler(PageUI userPage) { this.userPage = userPage; } /// /// Cette méthode est appellée après l'installation de chaque fichier /// /// /// /// /// /// public override void IOWorker_CreateFile_Done( DreamShield.Deployment.Listers.ListersComponentFilesDescriptors descriptor, DreamShield.IO.Utils.VFS.IVFSFile runtime_file, DreamShield.Data.IDataEntry rollBackRecords, FileInfo file_info, ref string file_name) { base.IOWorker_CreateFile_Done(descriptor, runtime_file, rollBackRecords, file_info, ref file_name); /* try-catch ... il ne faudrait pas planter toute l'installation pour une erreur * qui surviendrait ici. * Si une exception survient ici, il n'y aura pas de Crash mais l'installation * sera annulée */ try { string f_name = runtime_file.Name; string file_path = file_name; /* On vérifie si c'est bien notre fichier */ if (file_path != null && file_path != "" && f_name.Equals( "Configuration.xml", StringComparison.OrdinalIgnoreCase)) { if (File.Exists(file_path)) //On sais jamais { /* On écrit le fichier de configuration * */ #region Assignation de la valeur XmlDocument doc = new XmlDocument(); doc.Load(file_path); XmlNode config = doc.ChildNodes[0]; foreach (XmlNode n_config in config.ChildNodes) { if(n_config.Name == "UserName") n_config.InnerText = userPage.Page.SetupUserName; else if(n_config.Name == "UserPass") n_config.InnerText = userPage.Page.SetupUserPass; } doc.Save(file_path); #endregion } } } catch (Exception ex) { /* Moyen s'imple d'afficher les erreurs */ Parent.Engine.ReportWorkerWarning("Warning", ex.Message, ex); } } }