Hallo Darkblade,
ich habe noch ein kleines Problem entdeckt,
ich Versuche die unzip.exe jetzt mit VB zu starten um das
Archiv zu entpacken.
Ok
Shell App.Path + „\bin\unzip.exe -o -qq main.zip -d " + „““" +
setup + „“"", vbMinimizedNoFocus
Und da stecken schon viele Tuecken drinnen!
Erstens kann je nachdem ob du dich im Root Directory des Laufwerkes befindest, dir die Eigenschaft App.Path einen Backslash am Ende mitgeliefern oder auch nicht!(Gruss an Rainer, in diesem Sinne
)
Auch sehe ich hier das du einfach Setup übergibst. Wo ist denn die Variable declariert und welchen Wert beinhaltet sie denn ?
Desweiteren verknuepft man Strings immer mit & und nicht mit einem + Zeichen 
Desweiteren faellt mir auch auf das du einfach so Main.Zip angibst. Ist denn gewaehrleistet das die Main.zip genau im dem Directory liegt, wo du dich derzeit befindest? Auch dies würde ich überprüfen und ggfls. den Pfad dazu mit angeben!
An Deiner Stelle würde ich erst einmal den Pfad zusammenbasteln.
Dann prüfen ob die File’s existieren. Wenn die Vorraussetzungen gegeben sind, erst dann würde ich das Teil starten 
Desweiteren würde ich auch von Shell abraten, denn da weisst du nie, was für Fehler aufgetreten sind 
In dem Falle würde ich zur API ShellExecute raten 
Wenn das alles immernoch nicht funktionieren sollte, versuche einfach mal das von der Console aus zu starten! Wenn das geht würde ich dann die Daten einfach in ein Batch File schreiben, dieses dann starten und im Anschluss daran wieder löschen 
Aber lange Rede kurzer Sinn. Versuch die Variante mal.
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( \_
ByVal hwnd As Long, \_
ByVal lpOperation As String, \_
ByVal lpFile As String, \_
ByVal lpParameters As String, \_
ByVal lpDirectory As String, \_
ByVal nShowCmd As Long) As Long
Private Const SW\_HIDE = 0
Private Const SW\_MAXIMIZE = 3
Private Const SW\_MINIMIZE = 6
Private Const SW\_NORMAL = 1
Private Const SW\_SHOW = 5
Private Const SW\_RESTORE = 9
Private Const SW\_SHOWMAXIMIZED = 3
Private Const SW\_SHOWMINIMIZED = 2
Private Const SW\_SHOWMINNOACTIVE = 7
Private Const SW\_SHOWNA = 8
Private Const SW\_SHOWNOACTIVATE = 4
Private Const SW\_SHOWNORMAL = 1
Private Const ERROR\_BAD\_FORMAT = 11&
Private Const SE\_ERR\_ACCESSDENIED = 5
Private Const SE\_ERR\_ASSOCINCOMPLETE = 27
Private Const SE\_ERR\_DDEBUSY = 30
Private Const SE\_ERR\_DDEFAIL = 29
Private Const SE\_ERR\_DDETIMEOUT = 28
Private Const SE\_ERR\_DLLNOTFOUND = 32
Private Const SE\_ERR\_FNF = 2
Private Const SE\_ERR\_NOASSOC = 31
Private Const SE\_ERR\_OOM = 8
Private Const SE\_ERR\_PNF = 3
Private Const SE\_ERR\_SHARE = 26
Public Function RunFile(Handle As Long, sFile As String, Parameter As String, Optional ShowError As Boolean = True) As Boolean
Dim Retval As Long
Dim sFolder As String
Dim sDrive As String
Dim sFilename As String
Call SplitPath(sFile, sDrive, sFolder, sFilename)
Retval = ShellExecute(Handle, "open", sFile, Parameter, sFolder, SW\_SHOWMINIMIZED)
Select Case Retval
'Hier kannst du alle Fehler abfragen ...
Case SE\_ERR\_NOASSOC
If ShowError Then MsgBox "Datei ist nicht Assizoiert", vbInformation, "Fehler"
Exit Function
Case SE\_ERR\_PNF
If ShowError Then MsgBox "Pfad wurde nicht gefunden", vbInformation, "Fehler"
Exit Function
Case SE\_ERR\_FNF
If ShowError Then MsgBox "Datei wurde nicht gefunden", vbInformation, "Fehler"
Exit Function
Case 8, 26, 32, 28, 29, 30, 27, 5, 11 ' alle anderen Fehler
Exit Function
End Select
RunFile = True
End Function
Public Function FileExists(Path As String) As Boolean
On Error Resume Next
Const NotFile = vbDirectory Or vbVolume
FileExists = (GetAttr(Path) And NotFile) = 0
On Error GoTo 0
End Function
Private Sub DeineSubDieDuAufrufst()
Dim sFile As String
sFile = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\") & "bin\unzip.exe"
If Not FileExists(sFile) Then
MsgBox "File unzip.exe not Found!", 16
Exit Sub
End If
If Not FileExists("main.zip") Then
MsgBox "File Main.zip not Found!", 16
Exit Sub
End If
If RunFile(Me.hwnd, sFile, "-o -qq main.zip -d " & """" & setup & """", True) Then MsgBox "Dateien erfolgreich entpackt :smile:"
End Sub
Public Sub SplitPath(ByVal sFullPath As String, \_
sDrive As String, sFolder As String, sFilename As String)
Dim nPos As Long
Dim sCurDir As String
If Mid$(sFullPath, 2, 1) = ":" Then
sDrive = Left$(sFullPath, 2)
sFullPath = Mid$(sFullPath, 3)
End If
nPos = InStrRev(sFullPath, "\")
If nPos \> 0 Then
sFolder = Left$(sFullPath, nPos - 1)
If sFolder = "" Then sFolder = "\"
sFilename = Mid$(sFullPath, nPos + 1)
Else
sFilename = sFullPath
sCurDir = CurDir$
If sDrive = "" Then
sDrive = Left$(sCurDir, 2)
sFolder = Mid$(sCurDir, 3)
Else
ChDrive sDrive
sFolder = Mid$(CurDir$, 3)
ChDrive Left$(sCurDir, 2)
End If
End If
End Sub
Ist ungetestet, aber sollte funktionieren 
Wenn ich diese Funktion ausführe, passiert einfach nichts.
Wenn ich mir den Pfad mit einer MsgBox ausgeben lasse, kommt
folgendes raus:
D:\Daten…\unzip.exe -o -qq main.zip -d
„C:…\Verzeichnis“
und die Main.Zip liegt in dem Directory wo du dich derzeit befindest?
Wenn ich das bei cmd eingebe, entpackt er alles wie er soll.
Ok, das kann daran liegen das du dich im Directory befunden hast, wo die Main,.zip liegt 
Ich bin Ratlos.
Ich habe dir genuegend Hinweise gegeben. Befolge diese mal alle und schaue mal ob es dann geht. Wenn nicht, welchen Wert gibt dir denn ShellExecute wieder ?
MfG, DarkblaDe2308
MfG Alex