Création Programme d'autoinstallation
Fermé
Issam21
Messages postés
166
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
9 mars 2012
-
27 avril 2009 à 20:42
Issam21 Messages postés 166 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 9 mars 2012 - 29 avril 2009 à 01:00
Issam21 Messages postés 166 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 9 mars 2012 - 29 avril 2009 à 01:00
A voir également:
- Création Programme d'autoinstallation
- Creation compte gmail - Guide
- Création compte google - Guide
- Programme demarrage windows 10 - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création groupe whatsapp - Guide
29 réponses
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
27 avril 2009 à 20:46
27 avril 2009 à 20:46
Tu fais un dossier avec tout les fichiers des installeurs.
Quand tu double clique sur un, ça l'installe, quand tu double clique pas dessus, ça ne l'installe pas :P
C'est pas mieux que des cases à cocher ça? :P
Sinon tu peux faire quand même ton interface graphique et tes petites cases à cocher par exemple en C#, ou en C++ ou en C, ou en plein d'autres langages.
Si tu veux le faire en C# par exemple, tu peux télécharger Visual C# Express Edition 2008, et faire un petit Form, et un bouton qui lancerait différent Exes en fonctions des checkbox cochées.
Bon amusement.
Quand tu double clique sur un, ça l'installe, quand tu double clique pas dessus, ça ne l'installe pas :P
C'est pas mieux que des cases à cocher ça? :P
Sinon tu peux faire quand même ton interface graphique et tes petites cases à cocher par exemple en C#, ou en C++ ou en C, ou en plein d'autres langages.
Si tu veux le faire en C# par exemple, tu peux télécharger Visual C# Express Edition 2008, et faire un petit Form, et un bouton qui lancerait différent Exes en fonctions des checkbox cochées.
Bon amusement.
Issam21
Messages postés
166
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
9 mars 2012
22
27 avril 2009 à 20:50
27 avril 2009 à 20:50
Merci mais comment faire ne fait, une fois que j'ai téléchargé ce fameux logiciel il me suffit de créer un interface graphique par l'intermédiaire du langage C# ou bien le créer comme un "espèce" de site internet.
en tous cas merci pour ta réponse
en tous cas merci pour ta réponse
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
27 avril 2009 à 21:06
27 avril 2009 à 21:06
Tu vas créer une interface graphique (GUI) à l'aide du programme, ensuite tu créera un Event lorsque tu clique sur un bouton, qui vérifiera les différentes checkbox de l'interface graphique et exécutera différents exécutables en fonction des checkbox cochées.
Il n'y aura pas de page web ;)
Il n'y aura pas de page web ;)
Issam21
Messages postés
166
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
9 mars 2012
22
27 avril 2009 à 21:08
27 avril 2009 à 21:08
Merci, c'est bon. je tente ça et je te redirais si ça à marché
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
27 avril 2009 à 21:10
27 avril 2009 à 21:10
Commence surtout par apprendre les bases de C#, moi je trouve que c'est un langage assez simple, n'hésite pas à poser une question sur ce post si tu ne sais pas comment faire telle ou telle chose.
Issam21
Messages postés
166
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
9 mars 2012
22
27 avril 2009 à 23:36
27 avril 2009 à 23:36
Merci c'est noté
Issam21
Messages postés
166
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
9 mars 2012
22
28 avril 2009 à 11:47
28 avril 2009 à 11:47
C'est juste pour que tu m'aide à créer une relation. la j'ai créer une case à cocher ("checkbox") et un bouton validé. mais je n'arrive pas à créer le lien entre les deux composants.
Par exemple lorsque je valide et que le bouton est coché, il lance un fichier; alors que si je clique sur le bouton validé et que la case n'est pas cocher, il ne lance rien et passe à une sorte de fenêtre où il me dit "installation terminer" ou un truc dans le genre.
Merci de prendre du temps pour moi.
Cdlt
Par exemple lorsque je valide et que le bouton est coché, il lance un fichier; alors que si je clique sur le bouton validé et que la case n'est pas cocher, il ne lance rien et passe à une sorte de fenêtre où il me dit "installation terminer" ou un truc dans le genre.
Merci de prendre du temps pour moi.
Cdlt
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
28 avril 2009 à 13:45
28 avril 2009 à 13:45
protected virtual void OnButton1Clicked (object sender, System.EventArgs e) { if(checkbutton2.Active) { // On lance le programme d'installation correspondant } }
Ici je suppose que ton bouton s'appelle checkbutton2, je vérifie s'il est actif (coché), si c'est le cas, tu remplace le commentaire par un lancement d'un programme.
Un exemple est d'utiliser System.Diagnostics dans les using, voici un petit exemple :
using System.Diagnostics Process myProc; // Lancons le processus myProc = Process.Start("filename"); // Le processus est lancé // Arrêter le processus myProc.CloseMainWindow();
Au final on a donc quelque chose comme ceci :
protected virtual void OnButton1Clicked (object sender, System.EventArgs e) { if(checkbutton2.Active) { Process aProc; aProc = Process.Start("ooffice -writer"); // ici moi je suis sous linux donc ça me lance OpenOffice // en mode "traitement de texte" } }
Issam21
Messages postés
166
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
9 mars 2012
22
28 avril 2009 à 13:47
28 avril 2009 à 13:47
OK mon bouton s'appelle bien checkbutton mais ce que tu a écris je le met dans evenement.
Désolé pour toutes ces questions mais je débute désolé
Désolé pour toutes ces questions mais je débute désolé
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
28 avril 2009 à 13:52
28 avril 2009 à 13:52
Lorsque tu édite ton programme en mode graphique (là où tu met les boutons, les checkbox et tout ça), tu double clique sur le bouton et tu vas arriver dans le code là où il y a l'event bouton, dedans tu met ceci :
N'oublie pas de mettre tout au début du document la directive :
using System.Diagnostics;
Sinon il va te dire que Process n'existe pas dans le contexte actuel.
if(checkbutton2.Active) { Process aProc; aProc = Process.Start("ooffice -writer"); // ici moi je suis sous linux donc ça me lance OpenOffice // en mode "traitement de texte" }
N'oublie pas de mettre tout au début du document la directive :
using System.Diagnostics;
Sinon il va te dire que Process n'existe pas dans le contexte actuel.
Issam21
Messages postés
166
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
9 mars 2012
22
28 avril 2009 à 13:53
28 avril 2009 à 13:53
OK jusque la je te comprend je fais la maquette de ce que j'ai préparé et je te l'envoie en image.
Laisse moi 5 petites minutes
Laisse moi 5 petites minutes
Issam21
Messages postés
166
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
9 mars 2012
22
28 avril 2009 à 14:03
28 avril 2009 à 14:03
Voila ma maquette mais on va dire que pour l'instant c'est un test pour apprendre à utilisé le langage.
http://img410.imageshack.us/img410/1114/44239576.jpg
Admet-on que le checkbox 1 soit avast et que le fichier exe est nommé "setupfre.exe" donc se serait :
using System.Diagnostics
Process myProc;
// Lancons le processus
myProc = Process.Start("setupfre.exe");
sachant que le fichier exe se trouve dans le même repertoire
?????
http://img410.imageshack.us/img410/1114/44239576.jpg
Admet-on que le checkbox 1 soit avast et que le fichier exe est nommé "setupfre.exe" donc se serait :
using System.Diagnostics
Process myProc;
// Lancons le processus
myProc = Process.Start("setupfre.exe");
sachant que le fichier exe se trouve dans le même repertoire
?????
Issam21
Messages postés
166
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
9 mars 2012
22
28 avril 2009 à 14:07
28 avril 2009 à 14:07
pour l'instant j'ai ça :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
}
}
}
Issam21
Messages postés
166
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
9 mars 2012
22
28 avril 2009 à 14:10
28 avril 2009 à 14:10
Je sait pas si ça peut te servir mais je précise, je suis sur Vista et j'ai Microsoft Visual C# 2008 Express Edition
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
28 avril 2009 à 14:18
28 avril 2009 à 14:18
Tu en fais ceci alors :
N'oublie pas de remplacer checkbutton1 par le nom de ta checkbox chez toi.
// Pour ceci il faut qeu "installeur.exe" soit
// dans le même dossier que le .exe généré par
// Visual C# Express, c'est à dire dans le dossier
// du projet, puis dans bin puis debug, puis un peu
// fouiller pour trouver un .exe
Le fait que tu soit sous vista ne change pas grand chose ;)
N'oublie pas de remplacer checkbutton1 par le nom de ta checkbox chez toi.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if(checkbutton1.Active) { Process installation1; installation1 = Process.Start("installeur.exe"); } } } }
// Pour ceci il faut qeu "installeur.exe" soit
// dans le même dossier que le .exe généré par
// Visual C# Express, c'est à dire dans le dossier
// du projet, puis dans bin puis debug, puis un peu
// fouiller pour trouver un .exe
Le fait que tu soit sous vista ne change pas grand chose ;)
Issam21
Messages postés
166
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
9 mars 2012
22
28 avril 2009 à 14:20
28 avril 2009 à 14:20
je vais donc modifier mon script un fois tous finis avec les bon nom, je te l'envoi (pour une correction au cas ou).
Issam21
Messages postés
166
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
9 mars 2012
22
28 avril 2009 à 14:52
28 avril 2009 à 14:52
Bon voila mon programme, enfin un début :
http://img207.imageshack.us/img207/7513/85871228.jpg
Sinon niveau programmation c'est :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (checkBox1.Active)
{
Process installation_avast;
installation_avast = Process.Start("setupfre.exe");
}
}
{
if (checkBox2.Active)
{
Process installation_MagicISO;
installation_MagicISO = Process.Start("Setup_MagicISO.exe")
}
}
}
}
Voila dit moi s'il y a une erreur ou un beug quelque part.
Merci
http://img207.imageshack.us/img207/7513/85871228.jpg
Sinon niveau programmation c'est :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (checkBox1.Active)
{
Process installation_avast;
installation_avast = Process.Start("setupfre.exe");
}
}
{
if (checkBox2.Active)
{
Process installation_MagicISO;
installation_MagicISO = Process.Start("Setup_MagicISO.exe")
}
}
}
}
Voila dit moi s'il y a une erreur ou un beug quelque part.
Merci
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
28 avril 2009 à 14:57
28 avril 2009 à 14:57
Là il va te les lancer tous en même temps, si tu veux qu'il te les lances les un après les autres (le 2e lorsque le premier as fini, fait comme ceci :
N'oublie pas de rajouter le "using System.Threading;" pour pouvoir faire des Thread.Sleep(2000);
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Diagnostics; using System.Threading; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if (checkBox1.Active) { Process installation_avast; installation_avast = Process.Start("setupfre.exe"); while(!installation_avast.HasExited) { installation_avast.Refresh(); Thread.Sleep(2000); } installation_avast.Close(); } if (checkBox2.Active) { Process installation_MagicISO; installation_MagicISO = Process.Start("Setup_MagicISO.exe") while(!installation_MagicISO.HasExited) { installation_MagicISO.Refresh(); Thread.Sleep(2000); } installation_MagicISO.Close(); } } } }
N'oublie pas de rajouter le "using System.Threading;" pour pouvoir faire des Thread.Sleep(2000);
Issam21
Messages postés
166
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
9 mars 2012
22
28 avril 2009 à 15:02
28 avril 2009 à 15:02
Oua, c'est vraiment plus compliquer que je ne le pensait donc lorsque je fait un Threading, il attend la fin de l'installation mais admet-on avec ce code mais ou je met les installations afin de tester l'application.
sinon j'ai cette erreur :
Erreur 1 'WindowsFormsApplication1.Form1' ne contient pas une définition pour 'checkBox1_CheckedChanged' et aucune méthode d'extension 'checkBox1_CheckedChanged' acceptant un premier argument de type 'WindowsFormsApplication1.Form1' n'a été trouvée (une directive using ou une référence d'assembly est-elle manquante ?) C:\Users\Ptit_Marocain\AppData\Local\Temporary Projects\WindowsFormsApplication1\Form1.Designer.cs 47 75 WindowsFormsApplication1
sinon j'ai cette erreur :
Erreur 1 'WindowsFormsApplication1.Form1' ne contient pas une définition pour 'checkBox1_CheckedChanged' et aucune méthode d'extension 'checkBox1_CheckedChanged' acceptant un premier argument de type 'WindowsFormsApplication1.Form1' n'a été trouvée (une directive using ou une référence d'assembly est-elle manquante ?) C:\Users\Ptit_Marocain\AppData\Local\Temporary Projects\WindowsFormsApplication1\Form1.Designer.cs 47 75 WindowsFormsApplication1
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
28 avril 2009 à 15:09
28 avril 2009 à 15:09
On va décrire pas à pas une partie du programme :
Vérifie si la checkBox1 est bien cochée
Crée un objet de type Process sur la première ligne, puis lui assigne le processus démarré à l'aide de Process.Start("..."); ici donc le processus démarré sur setup.fre.exe
Le while est une boucle, on restera dans cette boucle tant que installation_avast n'est pas terminée (n'a pas quittée). On le sait grâce à !installation_avast.HasExited.
Dans cette boucle, on rafraichit le statut de installation_avast, et on fait une pause de 2000 millisecondes, c'est à dire 2 secondes. La pause c'est le Thread.Sleep(2000); et le refresh, c'est le rafraichissement du processus lancé.
Après que le programme ait donc quitté, on va libérerer les ressources qu'il prenait en mémoire avec la méthode Close() sur le processus bien qu'il soit déjà fermé.
Voilà pour ton erreur, vérifie que tu n'utilise pas checkbox3 alors que tu l'a renommé en quelque chose d'autre.
if (checkBox1.Active) {
Vérifie si la checkBox1 est bien cochée
Process installation_avast; installation_avast = Process.Start("setupfre.exe");
Crée un objet de type Process sur la première ligne, puis lui assigne le processus démarré à l'aide de Process.Start("..."); ici donc le processus démarré sur setup.fre.exe
while(!installation_avast.HasExited) { installation_avast.Refresh(); Thread.Sleep(2000); }
Le while est une boucle, on restera dans cette boucle tant que installation_avast n'est pas terminée (n'a pas quittée). On le sait grâce à !installation_avast.HasExited.
Dans cette boucle, on rafraichit le statut de installation_avast, et on fait une pause de 2000 millisecondes, c'est à dire 2 secondes. La pause c'est le Thread.Sleep(2000); et le refresh, c'est le rafraichissement du processus lancé.
installation_avast.Close();
Après que le programme ait donc quitté, on va libérerer les ressources qu'il prenait en mémoire avec la méthode Close() sur le processus bien qu'il soit déjà fermé.
Voilà pour ton erreur, vérifie que tu n'utilise pas checkbox3 alors que tu l'a renommé en quelque chose d'autre.