Bonjour,

je développe une petite application qui me permet d'installer des applications de manière silencieuse après avoir lu les paramètres stockés dans un fichier XML.

Mon application :




Main
Je remplis dynamiquement un simple listview
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
void MainFormLoad(object sender, EventArgs e)
{
	foreach (string subfolder in Directory.GetDirectories(".\\silent")) 
	{
		ListViewItem it=new ListViewItem();
		it.SubItems[0].Text= Path.GetFileName(subfolder).ToString();
		it.SubItems.Add("En attente...");
		liste.Items.Add(it).Checked = true; 				
	}
}

Bouton Install
- J'initialise un tableau avec la liste des applications à installer
- Je lis les paramètres d'install renseignés dans un fichier xml
- je lance l'install
- En suivant je souhaite supprimer la première application de ma liste pour lancer l'application suivante, UNIQUEMENT lorsque l'application précédente a été supprimée. Pour cela j'ai besoin d'accéder au tableau ins[] déclaré dans le code suivant, mais je n'y arrive pas


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
25
26
27
28
29
30
31
32
33
34
35
36
37
void Button1Click(object sender, EventArgs e)
{		
	// on récupère le type d'os
	string os = GetOperatingSystemName()+Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE");
 
	// on récupère la liste des applications à installer
	String[] ins = new string[liste.CheckedItems.Count];
	int index = 0;
 
	foreach (ListViewItem lvi in liste.Items)
	{
		if (lvi.Checked == true)
		{
			ins[index] = lvi.Text;
			index++;
		}
	}
 
	// on récupère les informations d'installation
	XPathDocument doc = new XPathDocument("silent\\" + ins[0] + "\\si.xml");
        XPathNavigator nav = doc.CreateNavigator();
        XPathNodeIterator iter = nav.Select("si/"+os);
        iter.MoveNext();
 
        // récupération des paramètres d'install
	string exec = iter.Current.SelectSingleNode("exec").Value;
 
	// on lance l'install
	Process install = Process.Start("silent\\" + ins[0] + "\\" +  exec);
	install.EnableRaisingEvents = true;
	install.Exited += new EventHandler(nextapp);
}
 
void nextapp(object sender, EventArgs e)
{
	// ici accès au tableau ins
}
Voilou, je veux donc accéder au tableau ins[].

Je démarre en C# et je suis un peu perdu du coup vu qu'à ce que j'ai compris il n'y a pas vraiment de variable globale dans ce langage.
D'ailleurs si quelqu'un veut bien me préciser cette histoire de variables globales je lui en serais reconnaissant.

Merci d'avance,

Flexii