Напомним, что когда вы извлекаете файл со своих ресурсов на диск и затем выполняете на нем код, вы можете вызвать Windows Предотвращение выполнения данных - в основном, Windows пытается автоматически определить, что-то Предполагается, что это код или данные, и если они выглядят как данные (что будет с ресурсом), то это предотвратит выполнение этих данных как кода.
Это становится особенно неприятной проблемой, если ваша сборка .NET будет использоваться по сети, а не с локального диска - существуют всевозможные конфигурации безопасности .NET, которые могут помешать правильной работе.
Другой вариант, не зная подробностей вашего проекта, принять это с большой долей соли: добавьте в вашу установку файл .exe.readme, который описывает любопытных пользователей или ИТ-специалистов, почему существует исполняемый файл, которым они не были ' ожидая в каталоге установки:)