Во-первых, вы не запускаете приложение ClickOnce при запуске EXE.Если вы собираетесь это сделать, просто скопируйте папку bin из вашей сборки на компьютер.Вы тратите свою жизнь, используя ClickOnce, если вам не нужно делать автоматические обновления.
Во-вторых, вы можете попробовать отследить все необходимые вам dll и включить их в проект.Это включает в себя все вторичные или третичные зависимости.Добавьте их в свой проект, установите действие сборки «content» и установите «copy to output directory» в «copy Always».Затем они будут включены в выходной каталог при сборке.
DLL некоторых приложений будут работать при локальном развертывании (например, DirectX), а некоторые - нет (SQLServer Express).Вам просто нужно попробовать и посмотреть, если это так.
Я бы сказал, однако, что использование сборок VMWare, вероятно, противоречит EULA.Это все равно что пытаться включить сборки Office для запуска Excel на машине без установленной версии.
Что касается передачи аргументов, если вы действительно хотите использовать его в качестве приложения ClickOnce, вот запись в блогеобъяснение того, как передавать аргументы в автономное (или онлайн) приложение ClickOnce:
http://robindotnet.wordpress.com/2010/03/21/how-to-pass-arguments-to-an-offline-clickonce-application/