Verificateur d'installation

Contenu du snippet

permet de verifier les fichier installer par un setup quelconque dans les repertoires systeme ,temporaire et dans le repertoire du setup
-Il lance le setup
-mettre le setup dans le meme repertoire que le script et indiquez le chemin complet du setup a l'invite du script

Source / Exemple :


Dim GetTheParent,inx,inx2,fs,fso,fs2,fich1,files,Folder,Fold,fil,fil2,fich,sourep,files2,Folder2

fich1="install"
Set fs = CreateObject("Scripting.FileSystemObject")
set fich= fs.OpenTextFile(fich1&".txt",2,true)
application = InputBox("Entrez le chemin complet du programme a installer","by racattac13")

'------------------------------------------------------------------
'-------------------verification repertoire systeme--------------
'------------------------------------------------------------------
Set Fold = fs.GetSpecialFolder(1)
Set filles = Fold.Files
fich.WriteLine("------------Fichier dans repertoire systeme :")
for each fil in filles
 fich.WriteLine(fil.Name)
next
inxsys=filles.Count
fich.WriteBlankLines(2)

'------------------------------------------------------------------
'-------------------verification repertoire temporaire--------------
'------------------------------------------------------------------
Set Fold = fs.GetSpecialFolder(2)
Set filles = Fold.Files
fich.WriteLine("------------Fichier dans repertoire temporaire :")
for each fil in filles
 fich.WriteLine(fil.Name)
next
inxtmp=filles.Count
fich.WriteBlankLines(2)

'------------------------------------------------------------------
'-------------------verification des repertoire dans programme files--------------
'------------------------------------------------------------------
Set Fold = fs.GetFolder("C:\Program Files")
Set sourep =Fold.SubFolders
fich.WriteLine("-------------Repertoire dans programme files :")
for each sousrep in sourep
 fich.WriteLine(sousrep.Name)
next
inxrep=sourep.Count
fich.WriteBlankLines(2)

'------------------------------------------------------------------
'-------------------verification du repertoire contenant le setup-----
'------------------------------------------------------------------
GetTheParent = fs.GetParentFolderName(application)
Set Fold = fs.GetFolder(GetTheParent)
Set files = Fold.Files
fich.WriteLine("------------Fichier dans repertoire du setup:")
for each fil in files
 fich.WriteLine(fil.Name)
next
inxcur=files.Count
fich.WriteBlankLines(2)
'------------------------------------------------------------------

fich.Close()

'------------------------------------------------------------------
'----------------------------Lancement du setup-----------------------
'------------------------------------------------------------------
GetAName = fs.GetFileName(application)
Set ws= CreateObject("WScript.Shell")
ws.Run GetAName,1,1

set fich= fs.OpenTextFile(fich1&"2.txt",2,true)

'---------------------------------------------------------------------
'-------------------verification repertoire systeme 2--------------
'------------------------------------------------------------------
Set Fold = fs.GetSpecialFolder(1)
Set filles = Fold.Files
fich.WriteLine("------------Fichier dans repertoire systeme :")
for each fil in filles
 fich.WriteLine(fil.Name)
next
inxsys2=filles.Count
fich.WriteBlankLines(2)

'------------------------------------------------------------------
'-------------------verification repertoire temporaire 2--------------
'------------------------------------------------------------------
Set Fold = fs.GetSpecialFolder(2)
Set filles = Fold.Files
fich.WriteLine("------------Fichier dans repertoire temporaire :")
for each fil in filles
 fich.WriteLine(fil.Name)
next
inxtmp2=filles.Count
fich.WriteBlankLines(2)

'------------------------------------------------------------------
'-------------------verification des repertoire dans programme files 2--------------
'------------------------------------------------------------------
Set Fold = fs.GetFolder("C:\Program Files")
Set sourep =Fold.SubFolders
fich.WriteLine("-------------Repertoire dans programme files :")
for each sousrep in sourep
 fich.WriteLine(sousrep.Name)
next
inxrep2=sourep.Count
fich.WriteBlankLines(2)

'------------------------------------------------------------------
'-------------------verification du repertoire contenant le setup 2-----
'------------------------------------------------------------------
GetTheParent = fs.GetParentFolderName(application)
Set Fold = fs.GetFolder(GetTheParent)
Set files = Fold.Files
fich.WriteLine("------------Fichier dans repertoire du setup:")
for each fil in files
 fich.WriteLine(fil.Name)
next
inxcur2=files.Count
fich.WriteBlankLines(2)

fich.Close()    'fermeture du fichier

'------------------------------------------------------------------
'--------------------Comparaison des fichier-------------------
'------------------------------------------------------------------
set fich= fs.OpenTextFile(fich1&".txt",1,true)
set fich2= fs.OpenTextFile(fich1&"2.txt",1,true)
set fich3= fs.OpenTextFile(fich1&"verif.txt",2,true)
set taille1 =fs.GetFile(fich1&".txt") 
set taille2 =fs.GetFile(fich1&"2.txt")
tail1=taille1.Size
tail2=taille2.Size

Do While fich.AtEndOfStream <> True 
temp=fich.ReadLine
temp2=fich2.ReadLine

If temp="------------Fichier dans repertoire systeme :" Or temp="------------Fichier dans repertoire temporaire :"Or temp="-------------Repertoire dans programme files :" Or temp="------------Fichier dans repertoire du setup:" Then
   fich3.WriteLine(temp)
End If

If temp<>temp2 Then
 If tail1<tail2 Then
  Do While temp<>temp2
   fich3.WriteLine(temp2)
   temp2=fich2.ReadLine
  Loop 
 Else
  Do While temp<>temp2
   fich3.WriteLine(temp)
   temp=fich.ReadLine
  Loop
 End If
End If
Loop

'------------------------------------------------------------------
'---------------------------Affiche le resultat--------------------
'------------------------------------------------------------------
Set ws= CreateObject("WScript.Shell")
ws.Run fich1&"verif.txt"  
'------------------------------------------------------------------

Conclusion :


A ameliorer dans les versions suivantes

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.