Salut,
dans mon application servant à installer/mettre à jour des programmes internes je crée, lors d'une maj/install, des sous-répertoires dans "Program Files".
Mon programme ne me balance aucune erreur et ne crée pas le sous-répertoire !
Voici le bout de code :
j'ai essayé avec "repertoireDestination.create()", marche po non plus...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 internal static void RecurseCopie(DirectoryInfo repertoireOrigine, DirectoryInfo repertoireDestination, System.Windows.Forms.ProgressBar avancement, System.Windows.Forms.Label rapportOrigine, System.Windows.Forms.Label rapportDestination, ref string erreurs) { try { if (erreurs == null) erreurs = string.Empty; if (!repertoireDestination.Exists) { try { Directory.CreateDirectory(repertoireDestination.FullName); } catch (Exception ex) { StreamWriter truc = new StreamWriter(@"c:\erreur.txt", true); truc.WriteLine(ex.Message); truc.WriteLine(ex.StackTrace); truc.Flush(); truc.Close(); MessageBox.Show(ex.Message + Environment.NewLine + ex.StackTrace); } } ..........
pas de messageBox, pas de fichier créé (qu'il soit dans c: ou ailleurs..)
Quand j’exécute mon appli en mode administrateur, là ça marche !
Ce problème n'apparait que sous "Windows 7", sous XP ça marche très bien.
Ce qui m’embête le plus c'est que mon poste de dev, sous W7 ne me pose pas ce problème au débug ni en execution normale et que je dois tester à taton sur un poste d'utilisateur (qui d'ailleurs à les droits admin sur son poste...)
Nous déployons ce programme par strat dans l'entreprise et le lançons au démarrage du système. Je ne sais pas si par stratégie on peut le lancer en mode admin, de préférence sans embêter l'utilisateur avec le message de confirmation.
Si quelqu'un à une solution je lui serais reconnaissant pour l'éternité !
Cordialement,
Duncan Macleod !
PS:
le plus bizarre c'est que cela ne concerne que les répertoires et non les fichiers car si je crée le premier sous-répertoire, il copie les fichiers, mais arrivé au premier sous-sous-répertoire rebelote...
Partager