Недавно я пытался развернуть приложение C# на компьютере, на котором не установлена платформа .NET.
Я знаю, что на StackOverflow было многовопросов по одной и той же теме. Вот некоторые из них, ответы на которые я прочитал всем:
Упаковка .net framework с развертыванием .net приложения
Запуск .net приложения без установки .net профиля клиента?
Запуск приложения C# для Windows в Windows XP без установки .NET Framework.
Таким образом, все ответы на приведенные выше вопросы утверждают, что это невозможно без специального программного обеспечения и т. д. Одним из упомянутых программ был Salamander .NET Linker. . Единственная проблема заключается в том, что я не могу запустить приложение после того, как оно было обработано Salamender. Я понимаю, что это само по себе невозможно, так как требует запуска виртуальной машины .NET. Однако в прошлом я создавал Java-приложения и вместе с ними поставлял всю JVM. Удивительно, но они еще работали. Итак, причина, по которой это не дубликат приведенных выше вопросов, заключается в том, что мой истинный вопрос заключается в следующем:
Какие элементы .NET framework мне нужно упаковать? Если мне удастся упаковать все, позволит ли размещение их в том же каталоге, что и приложение, которое я запускаю, запускать приложение?
Я нашел одно решение этой проблемы, Microsoft .NET Redist Package. Единственная проблема заключается в том, что у него есть собственный графический интерфейс. Кроме того, это было бы идеальной посадкой. Итак, может ли кто-нибудь сказать мне одну из двух вещей:
Существует ли пакет .NET для командной строки, и если да, то где его скачать?
Если нет или это было бы нецелесообразно, какие примерно каталоги мне нужно скопировать из установок .NET?
Я понимаю, что эти файлы и каталоги зависят от системы и что моя установка .NET может не работать на вашем компьютере, но если C# подобен Java, то это должно быть достижимо. Это? Размер не является ограничением, для меня не имеет значения, весит ли приложение и все его файлы 1 Гб или только 1 Мб.
Если нет другого решения, я использовал Dependency Walkerдля проверки всех зависимостей моей программы. Если бы я упаковал большинство из них, теоретически мое приложение заработало бы?