|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.02.2017, 15:53 | #1 |
Регистрация: 09.09.2009
Сообщений: 5
|
.NET 2.0 на Windows 8, 10
Приветствую появилась цель заставить C# приложение работать на всех версиях Windows без дополнительных установок .net framework.
Делаю C# приложение на .net 2.0 оно работает на Windows 7 но не работает на 8 и 10. По умолчанию на Windows 8 и 10 нету .net framework 2.0 или 3.5. Есть одна особенность если изменить несколько байтов в приложении .net framework 2.0 тогда оно будет работать и на Windows 8 и 10. А именно находим нужные байты: Меняем их на: И программа работает на Windows 8 и 10 но не работает на Windows 7. Задача сделать программно изменение переменной в которой хранится версия .net framework в случае если была выдана ошибка на Windows 10. Ошибка выглядит так: Если коротко - Отлавливаем окно в Windows 10 о том что нету нужного .net framework меняем значение переменной на нужное и программа идет дальше. Я так понимаю реализовать это с помощью ассемблера нужно без дополнительных программ или библиотек и так чтобы антивирус не орал что это супер троян который убивает ваш компьютер P.S. Любым советам буду рад. Да знаю задача возможно поставлена не корректно или заезжена тема но хочу ее попробовать решить. |
03.02.2017, 16:09 | #2 |
Участник клуба
Регистрация: 04.04.2010
Сообщений: 1,554
|
Господи иисусе. Почему просто не поставить фреймворк?
|
03.02.2017, 16:46 | #3 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
А потом .net говно, какие-то странные баги лезут...
|
03.02.2017, 17:25 | #4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Рекомендую просто выкинуть эту идею из головы, как изначально ошибочную. Просто поймите, приложение на C# внутри себя содержит обращение к ядру (фреймворку) - вызов нужных функций ядра. Требование к номеру фрейморка, это обусловлено в первую очередь тем, что в разных версиях фрейморка вызов процедур (и сами процедуры) немного отличаются. Поэтому, в лучшем случае у Вас ничего не получится. В худшем, программа будет иметь скрытые баги - т.е. что-то, типа Hello, World! может быть и заработает, а что-то по сложнее - будет глючить и падать. Или Вы этого и добиваетесь? И, главное, зачем это всё?! Вам не нравится .NET Framework? Так не используйте его совсем! Пишите нативные приложения, которым нужна только сама Windows (или вообще уходите от винды ) |
|
03.02.2017, 18:17 | #5 | |
Регистрация: 09.09.2009
Сообщений: 5
|
Потому-что человек быстрее удалит программу и не будет разбираться в вопросе чем будет ставить framework.
Проверил на своей программе если сделать как я сказал программа работает корректно. Цитата:
|
|
03.02.2017, 18:47 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
А почему не собрать под 4.0?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
03.02.2017, 19:14 | #7 |
Регистрация: 09.09.2009
Сообщений: 5
|
|
03.02.2017, 19:36 | #8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ну соберите 2 версии, под вин8+ и под старые.
Или сделайте инсталятор и ставьте сами 4.0 если нет.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
03.02.2017, 21:57 | #9 |
Регистрация: 09.09.2009
Сообщений: 5
|
Как оказалось частичное решение может быть создать файл MyProgram.exe.config с таким содержимым:
Код HTML:
<?xml version="1.0"?> <configuration> <startup> <supportedRuntime version="v2.0.50727"/> <supportedRuntime version="v4.0.30319"/> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> </configuration> P.s. копал в сторону CLRCreateInstance позволяет проверить а .net framework а потом запустить на выбранном framework свою C# dll, но мне не нужно запускать dll или чтобы было два файла. Спасибо за ответы. |
04.02.2017, 16:37 | #10 |
Регистрация: 09.09.2009
Сообщений: 5
|
Чтобы хоть как-то подогреть внимание готов заплатить 100$ тому кто предоставит решение моей задачи учитывая выше сказанное, без дополнительного ПО и лишних файлов. Спасибо.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
работа с библиотеками Windows в .NET | D][mon | C# (си шарп) | 5 | 11.02.2013 10:17 |
C++.net Windows Forms | coollife | Помощь студентам | 0 | 13.12.2012 20:17 |
PascalABC.NET, windows.forms | *stRong* | Помощь студентам | 0 | 03.06.2010 21:47 |
Delphi и Microsoft Windows CE NET 5.0? | oooooo111 | Общие вопросы Delphi | 0 | 28.01.2010 03:32 |