Rechercher : dans
Par :

Création Programme d'autoinstallation

Dernière réponse le 29 avr 2009 à 01:00:02 Issam21, le 27 avr 2009 à 20:42:28 
 Signaler ce message aux modérateurs

Bonjour,

Étant actuellement élève en terminal STG GSI.
J'ai acquis quelque élément en programmation.
Mon problème est que je formate mon PC très souvent et j'aimerais savoir si quelqu'un pourrais m'aider a créer un programme ou même un petit fichier bat qui me permettrais d'installer tous mes programmes automatiquement.
j'ai commencer à créer ce bout de code :

@COLOR f1

@echo Nous sommes le %date%, il est %time%
@echo ---------------------------------------------
@echo.

:suite0
@Set /p check=Installer Avast Antivirus Edition Familiale [O/N], [S] pour Tous stopper?
@if /i "%check%"=="O" Goto :avast
@if /i "%check%"=="N" Goto :suite1
@if /i "%check%"=="S" Goto :stop
@if /i not "%check%"=="O""N""S" Goto :erreur0


:avast
@start /wait Installs\setupfre.exe

:suite1
@echo.

@Set /p check=Installer MagicISO [O/N], [S] pour Tous stopper?
@if /i "%check%"=="O" Goto :magic
@if /i "%check%"=="N" Goto :fin
@if /i "%check%"=="S" Goto :stop
@if /i not "%check%"=="O""N""S" Goto :erreur1

:magic
start /wait Installs\MagicISO\Setup\Setup_MagicISO.exe
GOTO :fin


:erreur0
@echo.
@echo.
@echo.
@echo Erreur de saisie, veuillez recommencer
@GOTO :suite0

:erreur1
@echo.
@echo.
@echo.
@echo Erreur de saisie, veuillez recommencer
@GOTO :suite1

:fin
@COLOR f6
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo ********************************************************************************
@echo *** ***
@echo *** !!! Installations Terminer avec succes !!! ***
@echo *** ***
@echo ********************************************************************************
@echo.
@echo.
@echo ________________________________________________________________________________
@echo Appuyer sur une touche pour finir le programme correctement
@echo ________________________________________________________________________________
@pause >nul

GOTO :eof

:stop
@COLOR 0c
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo ********************************************************************************
@echo *** ***
@echo *** !!! Installations Annuler !!! ***
@echo *** ***
@echo ********************************************************************************
@echo.
@echo.
@echo ________________________________________________________________________________
@echo Appuyer sur une touche pour finir le programme correctement
@echo ________________________________________________________________________________
@pause >nul

@GOTO :eof

___________________________________________________________________________________________

Bon voila le petit bout que j'ai tenté de faire mais ce que je voudrais c'est être plus simple ou créant une interface dans laquelle je pourrais directement sélectionner les programmes à installer et ce grâce à des cases à cocher.

Merci pour votre aide

Configuration: Windows Vista
Safari 525.19

Meilleures réponses pour « Création Programme d'autoinstallation » dans :
Compiler un programme assembleur avec Nasm Voir Avec Linux Etape 1. Créer un fichier source Etape 2. Assembler le fichier source Etape 3. Création de l'executable Etape 4. Execution du programme Avec windows Etape 1. Installer les logiciels nécessaires Etape 2. Créer un fichier...
Utilisations des chemins dans The GIMP VoirLes chemins permettent plusieurs choses dans The GIMP et ici nous allons voir les bases Ils permettent entre autre de détourer, de faire des contours etc... et cela très simplement. Aide Détourage d'une image Contour d'un objet ou d'un...
Logiciels pour créer un jeu vidéo (RPG maker, Mugen, etc.) VoirLogiciels de création de jeux polyvalents Logiciels de création de jeux de combat Logiciel de création de jeux de rôle Autres logiciels Si vous n'êtes pas programmeur, mais que vous souhaitez créer votre jeu vidéo, des logiciels très...
Télécharger Album Build Creator VoirCréer et ajouter facilement un album à votre site web pour que les utilisateurs puissent le consulter facilement. Album Build Creator est un programme permettant de créer à votre aise un album photos d’une excellente qualité. Il génère un...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...
Introduction au langage Pascal VoirUn peu d'histoire Ce langage a été créé en 1969 à l'école polytechnique de ZURICH par N. WIRTH. Il a été conçu pour permettre d'enseigner la programmation comme une science. Ce langage est à la base d'une nouvelle méthode de programmation : la...
Programme informatique VoirQu'est-ce qu'un programme informatique? Un programme informatique est une succession d'instructions exécutable par l'ordinateur. Toutefois, l'ordinateur ne sait manipuler que du binaire, c'est-à-dire une succession de 0 et de 1. Il est donc...

1

scriptiz, le 27 avr 2009 à 20:46:54

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.

Répondre à scriptiz

2

Issam21, le 27 avr 2009 à 20:50:45

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

Répondre à Issam21

3

scriptiz, le 27 avr 2009 à 21:06:03

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 ;)

Répondre à scriptiz

4

Issam21, le 27 avr 2009 à 21:08:19

Merci, c'est bon. je tente ça et je te redirais si ça à marché

Répondre à Issam21

5

scriptiz, le 27 avr 2009 à 21:10:27

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.

Répondre à scriptiz

6

Issam21, le 27 avr 2009 à 23:36:16

Merci c'est noté

Répondre à Issam21

7

Issam21, le 28 avr 2009 à 11:47:40

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

Répondre à Issam21

8

scriptiz, le 28 avr 2009 à 13:45:05

	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"
		}
	}

Répondre à scriptiz

9

Issam21, le 28 avr 2009 à 13:47:37

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é

Répondre à Issam21

10

scriptiz, le 28 avr 2009 à 13:52:04

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 :

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.

Répondre à scriptiz

11

Issam21, le 28 avr 2009 à 13:53:46

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

Répondre à Issam21

12

Issam21, le 28 avr 2009 à 14:03:14

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


?????

Répondre à Issam21

13

Issam21, le 28 avr 2009 à 14:07:22

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)
{

}
}
}

Répondre à Issam21

14

Issam21, le 28 avr 2009 à 14:10:39

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

Répondre à Issam21

15

scriptiz, le 28 avr 2009 à 14:18:19

Tu en fais ceci alors :

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 ;)

Répondre à scriptiz

16

Issam21, le 28 avr 2009 à 14:20:19

Je vais donc modifier mon script un fois tous finis avec les bon nom, je te l'envoi (pour une correction au cas ou).

Répondre à Issam21

17

Issam21, le 28 avr 2009 à 14:52:34

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

Répondre à Issam21

18

scriptiz, le 28 avr 2009 à 14:57:54

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 :


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);

Répondre à scriptiz

19

Issam21, le 28 avr 2009 à 15:02:32

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 Wi­ndowsFormsApplication1

Répondre à Issam21