Еще в 2005 году я работал над настольным приложением dotnet. В то время я искал установщиков для создания установочного пакета. Во время поиска я наткнулся на изящный инструмент, который связывает ваше приложение с самой dotnet, включая только те части dotnet, которые необходимы для запуска приложения. Это было сделано с использованием разрешения зависимостей. Лицензирование начиналось примерно с 5000 долларов, что составляло примерно половину бюджета проекта, поэтому я так и не купил его.
Я не помню имя установщика, поискал в Google, но ничего не нашел. Вы сталкивались с этим продуктом? Вы помните название или имеете ссылку на их сайт?
Обновлено: Чтобы уточнить, при использовании этого продукта вам не нужно было проверять, установлен ли dotnet или какая версия была установлена, и необходимо было установить dotnet. dotnet просто был связан с самим приложением, поэтому приложение и dotnet были неотличимы.





Не совсем то, что вы хотите, но добился своей цели: Есть парень, который переупаковывает .Net 1.1 и .Net 2.0 со всеми обновлениями в гораздо меньшие EXE, поддерживающие тихую установку. Вы можете проверить, есть ли у пользователя .NET, и, если нет, использовать их для его установки. На самом деле это лучше, чем то, что вы использовали, потому что у пользователя есть весь .NET, а не какая-то вручную искалеченная версия. Эти файлы не так уж и плохи по размеру, .NET 2.0 в этом пакете всего 16 МБ.
От FAQ Джона:
Having said the above, there are products which build everything you need from the framework for your application, along with your application itself, into one big bundle:
Xenocode виртуализирует приложения, что само по себе может быть решением. Thinstall Studio, похоже, больше не существует. Remotesoft Salamander .NET Linker - это программное обеспечение, которое я искал, хотя и не то, о котором я думал.
Чтобы уточнить, при использовании этого продукта вам не нужно было проверять, установлен ли dotnet или какая версия была установлена, и была необходимость установить dotnet. dotnet просто был связан с самим приложением, поэтому приложение и dotnet были неотличимы.