Может ли опция /SWAPRUN (или эквивалент) использоваться в VB6?
Мое понимание /SWAPRUN
Опция ( ссылка MSDN) заключается в том, что она вызывает загрузку исполняемого файла в файл подкачки и выполнение оттуда.
Возможен ли этот механизм в VB6?
2 ответа
Нет никакого способа указать это в VB6.exe (то есть IDE/ компилятор).
Однако есть надстройки, которые "зацепляют" процесс компиляции и компоновки, или вы можете сделать это самостоятельно, приложив немного усилий.
Самый простой способ - просто отредактировать скомпилированную и связанную программу через EditBin.exe или Link.exe. EditBin - это просто заглушка, которая вызывает Link, но Link устанавливается как часть VB6, так что вы можете запустить ее напрямую.
Основной причиной для этого является оптимизация работы с сетевого ресурса или устройства CD/flashdrive. Это не поможет вам обойти меры безопасности, обмануть антивирусное программное обеспечение или что-то сделать, например, "запустить извлеченный EXE из ОЗУ".
Мы делаем "C:\Program Files\Microsoft Visual Studio\VB98\LINK.EXE" /EDIT /NOLOGO /SWAPRUN:NET file.dll
на всех exe/dll/ocx для наших портативных сборок. К сожалению это не мешает EXCEPTION_IN_PAGE_ERROR
исключения возникают при выходе из строя локальной сети.
Компоненты системы (например, COMCTL32.OCX) не помечены с помощью swaprun и поставляются с подписью Microsoft. Редактирование PE-заголовка приводит к повреждению цифрового сертификата.