Вы ошиблись! MSI важен, но .exe - это просто загрузчик, который вызывает MSI. Во всяком случае, вы могли бы просто распространять MSI.
См. Что делает EXE-файл в выходных данных проекта установки Visual Studio?
Должна быть возможность создать загрузчик, который включает в себя фактический MSI как встроенный ресурс, однако я не уверен, как вы можете сделать это с помощью Visual Studio.
На вашем месте я бы либо раздал MSI самостоятельно с инструкциями о том, что пользователи должны иметь установленную платформу .Net для запуска приложения, либо объединил их в самораспаковывающийся zip-файл (или подобный).