Ответ также может зависеть от того, где вы развертываете? Вы пишете внутренне используемое приложение для компании, где у всех есть доступ к общему ресурсу в Интернете, где вы также можете развернуть свой ClickOnce? Если да, то ClickOnce отлично.
Если вы пытаетесь написать термоусадочное программное обеспечение для общего пользования, тогда лучшим вариантом будет создание проекта развертывания, который переходит к MSI, или даже использование продукта, такого как InstallShield или NSIS (он все еще существует?) .