Builder и изменение ресурсов в программе - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Вечер добрый! Необходимо динамически записать в исполняемый файл определенный ресурс. Реализую это средствами Bilder'а и Stub'а:
по сути получается что мы билдером склеиваем наш стаб и указанную программу, а затем, при запуске получившегося стаба, извлекаем эту программу и запускаем... но возникла проблема - файл на выходе не рабочий... весит на пару кб меньше, а при запуске выдает "неподдерживаемое 16-разрядное приложение. не удалось запустить программу из-за несовместимости с 64-разрядной версией Windows" Может кто-нибудь из коллег поможет указать мне на ошибку в моих действиях?

Решение задачи: «Builder и изменение ресурсов в программе»

textual
Листинг программы
Imports System.IO
...
Dim destPath = Path.Combine(Application.StartupPath, "temp.exe")
Using fsSrc As FileStream = File.OpenRead(Application.ExecutablePath)
    fsSrc.Seek(-8, SeekOrigin.End)
    Dim buf(7) As Byte
    fsSrc.Read(buf, 0, 8)
    fsSrc.Position = BitConverter.ToInt64(buf, 0)
 
    Using fsDest As New FileStream(destPath, FileMode.Create, FileAccess.Write)
        fsSrc.CopyTo(fsDest)
        fsDest.SetLength(fsDest.Length - 8)
    End Using
End Using
 
Process.Start(destPath)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы