Цитата: ...добавить в проект папку, которая не используется плагином...
coherent, шикарно и просто, если освободить папку VstPlugins все работает, как сам не додумался)
CMD не стал задействовать (но взял на заметку), воспользовался тем же скриптом с изменениями.
Цитата: Более подробно сейчас не могу расписать, загружен работой.
Да вам и так ОГРОМНЕЙШАЯ БЛАГОДАРНОСТЬ, сам бы копался невесть сколько, и не факт что докопался.
Итак, еще раз, описание задачи и решение, возможно кому-то пригодится: Портабельный хост Reaper, подключаемый плагин VST в виде *dat, в сборке это: "%ProgramFilesDir%\VstPlugins\Acon Digital\Verberate\Verberate.dll". Плагин при портировке стандартным способом не запускается, но работает при выносе в реальную систему.
Необходимо: при запуске хоста вынести в реальную систему папку с плагином, и после завершения работы хоста ее удалить.
Решение:
1. При сборке проекта в Package.ini задаются параметры ChildProcessEnvironmentDefault=External и ExternalDLLs=Verberate.dll
2. Папка с плагином Acon Digital перемещается в любую другую, к примеру в %AppData%, получается:%AppData%\Acon Digital\Verberate\Verberate.dll
3. Обязательно удаляется изоляция с папки %ProgramFilesDir%\VstPlugins, или выставляется в Merged.
Важно! ! Изоляция с вышеуказанной папки должна быть снята не только во всех подключенных плагинах, но также и в сборке хоста. 4. В корень проекта добавляется VBS-скрипт c содержанием:
Важно! ! При подключении нескольких плагинов, собранных таким способом, дабы избежать накладки записей, название скрипта должно иметь уникальное, не повторяющееся имя.Код: Function OnFirstParentStart
Const OverwriteExisting = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFolder ExpandPath("%AppData%\Acon Digital"), ExpandPath("%ProgramFilesDir%\VstPlugins\"), OverwriteExisting
End Function
Function OnLastProcessExit
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFolder ExpandPath("%ProgramFilesDir%\VstPlugins\Acon Digital")
End Function