Je te remercie et reste sans voix  
 
J'en ai marre, je tourne en rond depuis 10 jours.
Je me retrouve toujours avec un fichier pack et un deuxieme programme qui marche si je le compile pour qu'il devienne un exe.
Mais moi, je voudrais que ce soit le premier programme qui créé l'exe apres avoir créé le pack, directement sans que j'ai à le compiler manuellement et que j'ai plus qu'a cliquer sur le 2e qui serait donc l'exe pour décompresser les fichiers du répertoire.
J'comprend plus rien et plus je reflechi et moins je comprend.  
 
Voici tout le code du packer (J'espere ne pas en avoir oublié  :
Code : Tout sélectionner
Procedure PackFolder(Folder.s, Pack.s, Level) 
 
 Global Dim List.s(100000) 
 Global Dim Limp.s(100000) 
 Global Dim Bizkit.s(100000) 
 Global Index1
 Global Index2
 Global Index3
 Index1=0  
 Index2=0 
 Index3=0 
 
 If Right(Folder.s, 1) <> "\"
  Folder.s + "\"
 EndIf 
 
 If FillArray(Folder.s, Folder.s) = 1 
  
  CreateFile(0, GetTemporaryDirectory() + "Filelist.tmp") 
  WriteStringN(0, Str(Index1)) 
 
  For PackN = 1 To Index1 
   If Limp(PackN - 1) <> "" 
    WriteStringN(0, Limp(PackN - 1)) 
   EndIf 
  Next PackN 
 
  CloseFile(0) 
  
  CreateFile(0, GetTemporaryDirectory() + "Dirlist.tmp") 
 
  For PackN = 1 To Index2 
   If Bizkit(PackN - 1) <> "" 
    WriteStringN(0, Bizkit(PackN - 1)) 
   EndIf 
  Next PackN 
  
  CloseFile(0) 
  CreatePack(Pack.s) 
  AddPackFile(GetTemporaryDirectory() + "Filelist.tmp", 9) 
  AddPackFile(GetTemporaryDirectory() + "Dirlist.tmp", 9) 
 
  For Add = 1 To Index1 
   If List(Add - 1) <> "" 
    AddPackFile(List(Add - 1), Level) 
   EndIf 
  Next Add 
  
  ClosePack() 
  DeleteFile(GetTemporaryDirectory() + "Filelist.tmp") 
  DeleteFile(GetTemporaryDirectory() + "Dirlist.tmp") 
 
 EndIf 
 
 MessageRequester("Er-Setup", "Le fichier " + DerniereOccurence(GetGadgetText(#TexteCheminRepertoireSource)) + ".pak vient d'etre créé avec succés sur " + GetGadgetText(#TexteCheminRepertoireDestination), 0) 
 
EndProcedure 
Procedure FillArray(EntryPath.s, Oldpath.s)  ; Fonctionne avec PackFolder(folder.s,pack.s,level)
 If Right(EntryPath.s, 1) <> "\"
  EntryPath + "\"
 EndIf 
   
 UsedDirectory = ExamineDirectory(#PB_Any, EntryPath, "*.*") 
   
 While NextDirectoryEntry(UsedDirectory) 
   
  EntryType.l = DirectoryEntryType(UsedDirectory) 
  EntryName.s = DirectoryEntryName(UsedDirectory) 
   
  If EntryName = "." Or EntryName = ".." 
   Continue 
  EndIf 
   
  If EntryType = #PB_DirectoryEntry_File 
   TheFile.s = RemoveString(EntryPath + EntryName, Oldpath.s) 
   Limp(Index1) = TheFile.s 
   Index1 = Index1 + 1 
   List.s(Index3) = EntryPath + EntryName 
   Index3 = Index3 + 1 
  EndIf 
   
  If EntryType = #PB_DirectoryEntry_Directory 
   FillArray(EntryPath + EntryName, Oldpath.s) 
   Bizkit.s(Index2) = RemoveString(EntryPath + EntryName, Oldpath.s) 
   Index2 = Index2 + 1 
  EndIf 
    
 Wend
  
 FinishDirectory(UsedDirectory) 
 ProcedureReturn 1 
EndProcedure 
Procedure.s MakeDirectory(Filestring.s)
 
 filename.s  = GetFilePart(filestring) 
 directory.s = GetPathPart(filestring) 
 drivename.s = Left(directory, 3) 
 directory.s = Mid(directory, 4, Len(directory) - 3) 
 make.s      = drivename 
 
 While FindString(directory,"\", 1) <> 0 
 
  position = FindString(directory,"\", 1) 
  temp.s = Left(directory, position -1) 
  directory = Mid(directory, position + 1, Len(directory) - position) 
  make + temp + "\" 
  CreateDirectory(make) 
 
 Wend 
 
 ProcedureReturn make 
EndProcedure 
Procedure DePackFolder(Pack.s, Folder.s) 
 Global Dim Limp.s(100000) 
 Global Dim Bizkit.s(100000) 
 Global index1:index1=0 
 Global index2:index2=0 
 If Right(folder.s,1)<>"\":folder.s+"\":EndIf 
  
 CreateDirectory(folder) 
  
 OpenPack(pack.s) 
 
 If CreateFile(0,GetTemporaryDirectory()+"filelist.tmp") 
  
  *File=NextPackFile() 
  Size=PackFileSize() 
  WriteData(0,*File,Size) 
  CloseFile(0) 
 EndIf 
 If CreateFile(0,GetTemporaryDirectory()+"dirlist.tmp") 
  *File=NextPackFile() 
  Size=PackFileSize() 
  WriteData(0,*File,Size) 
  CloseFile(0) 
 EndIf 
 If ReadFile(0,GetTemporaryDirectory()+"dirlist.tmp") 
  While Not Eof(0) 
   CreateDirectory(folder+ReadString(0)) 
  Wend 
  CloseFile(0) 
 
 EndIf 
 
 If ReadFile(0,GetTemporaryDirectory()+"filelist.tmp") 
 
  nr = Val(ReadString(0)) 
 
  For index1 = 1 To nr 
  
   file.s = folder+ReadString(0) 
   Debug "Extracting: " + file 
  
   If CreateFile(1,file) 
    *File=NextPackFile() 
    Size=PackFileSize() 
    WriteData(1,*File,Size) 
    CloseFile(1) 
   EndIf 
  
  Next index1 
  
  CloseFile(0) 
 
 EndIf 
    
EndProcedure 
Je te remercie beaucoup de ta patience
Bonne soiree