.exe aus den Ressourcen starten und für die .exe benötigten Dateien einbeziehen . . .

  • VB.NET

    .exe aus den Ressourcen starten und für die .exe benötigten Dateien einbeziehen . . .

    Hallo

    Ich habe ein Problem mit dem einbeziehen von Programmdateien einer .exe die aus den Ressourcen gestartet wird.
    Ich kann durch einen Code den ich hier im Forum gefunden habe, eine .exe direkt aus den Ressourcen starten ohne sie zu entpacken etc. Nun habe ich aber ein Problem bei .exe'n die noch zusätzliche Programmdateien benötigen damit sie starten ...

    Fehlermeldung:
    "Could not load file or assembly '13620200 bytes loaded from [VB-ProjektName], Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format."

    Wie kann ich beim starten der .exe die Dateien aus dem Ordner (Mein Programm liegt direkt im Ordner des anderen Programmes woraus die .exe ist) mit einbeziehen, so das die .exe starten kann mit alle ihren benötigten Dateien?

    Code:

    VB.NET-Quellcode

    1. '.exe aus Ressourcen starten . . .
    2. Public Shared Sub StartApplication(ByVal assembly As Reflection.Assembly)
    3. Dim thd As New Threading.Thread(AddressOf InvokeApplication)
    4. thd.Start(assembly)
    5. End Sub
    6. Private Shared Sub InvokeApplication(ByVal args As Object)
    7. Dim application As Reflection.Assembly = DirectCast(args, Reflection.Assembly)
    8. Dim ep As Reflection.MethodInfo = application.EntryPoint
    9. Dim parameterTypes() As Type = Array.ConvertAll(Of Reflection.ParameterInfo, Type)(ep.GetParameters, Function(param As Reflection.ParameterInfo) param.ParameterType)
    10. If parameterTypes.Length = 0 Then
    11. 'static void Main()
    12. ep.Invoke(Nothing, New Object() {})
    13. ElseIf parameterTypes.Length = 1 Then
    14. If parameterTypes(0) Is GetType(String()) Then
    15. 'static void Main(String[] args)
    16. ep.Invoke(Nothing, New Object() {New String() {}})
    17. Else
    18. Throw New NotSupportedException
    19. End If
    20. Else
    21. Throw New NotSupportedException
    22. End If
    23. End Sub


    Button_Click: (Hier versucht mit TS3_Client)

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. StartApplication(Reflection.Assembly.Load(My.Resources.ts3client_win64))
    3. End Sub


    Ich hoffe auf eure Hilfe :)
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford