У меня есть исполняемый файл, скомпилированный в Visual Studio 2010 (исходный проект - это приложение Windows Form с C#).
Я должен встроить этот исполняемый файл в установочный файл installsheild msi, и его можно установить в любой операционной системе Windows. system(поддерживаются XP и более поздние версии). но для запуска моего exe конечные пользователи должны сначала установить Microsoft .net framework 4 на свои системы. Я ищу решение для преобразования моего собственного исполняемого файла .NET в исполняемый файл .NET-FREE, который можно запускать без установки .NET Framework.
Есть ли способ сделать это? (Я имею в виду способ ОЖИДАТЬ mono-project)
Как преобразовать .NET exe в двоичный файл Windows, для запуска которого не требуется .NET Framework?
comment
возможный дубликат Есть ли способ скомпилировать приложение .NET в машинный код?
- person Darin Dimitrov   schedule 03.04.2011
comment
Даже если бы это было технически возможно (скажем, виртуализация реестра и дисков, и я даже не упоминаю проблемы поддержки...), лицензия не позволяет вам распространять необходимые сборки .NET. Они должны быть установлены официальной установкой Microsoft.
- person Simon Mourier   schedule 03.04.2011
comment
Является ли проблема установкой платформы .NET или ее обновлением? В большинстве версий XP после SP2 был установлен .NET, а во всех более поздних версиях он является базовым пакетом. Если это просто вопрос обновления, почему бы не использовать однократный клик для определения пакета?
- person GrayWizardx   schedule 03.04.2011
comment
Лучше попробуйте встроить установщик Microsoft .NET framework в вашу установку. ИМХО, актуальная версия .NET Framework должна быть предварительно установлена на каждом компьютере с Windows.
- person Doc Brown   schedule 03.04.2011
Ответы (2)
Mono поддерживает предварительную компиляцию, по крайней мере, на некоторых платформах. Вы также можете развернуть моно с вашей программой. Но я не уверен, поддерживает ли Mono WinForms в Windows.
Я не думаю, что реализация Microsoft .net поддерживает такое развертывание, так что вам не повезло.
person
CodesInChaos
schedule
03.04.2011
Вы не можете создать приложение без .NET, но вы можете попытаться максимально уменьшить требования к версии .NET, используя ILMerge. Например, я успешно использовал его для снижения требований к сторонним инструментам с .NET 4.5 до 4.0.
Инструмент имеет много параметров, но обычно все, что вам нужно, это следующее:
ILMerge.exe /v4 /useFullPublicKeyForReferences /out:target.exe source.exe sourceLib1.dll sourceLib2.dll
Теперь уверен, что это ваш вопрос, но в некоторых случаях это может помочь.
person
Kot Matroskin
schedule
21.02.2017