Упаковка приложения .NET, чтобы оно могло работать на компьютере без .NET

Недавно я пытался развернуть приложение 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для проверки всех зависимостей моей программы. Если бы я упаковал большинство из них, теоретически мое приложение заработало бы?

8
задан Community 23 May 2017 в 12:26
поделиться