![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 09.09.2009
Сообщений: 5
|
![]()
Приветствую появилась цель заставить 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. Любым советам буду рад. Да знаю задача возможно поставлена не корректно или заезжена тема но хочу ее попробовать решить. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 04.04.2010
Сообщений: 1,554
|
![]()
Господи иисусе. Почему просто не поставить фреймворк?
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
![]()
А потом .net говно, какие-то странные баги лезут...
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Рекомендую просто выкинуть эту идею из головы, как изначально ошибочную. Просто поймите, приложение на C# внутри себя содержит обращение к ядру (фреймворку) - вызов нужных функций ядра. Требование к номеру фрейморка, это обусловлено в первую очередь тем, что в разных версиях фрейморка вызов процедур (и сами процедуры) немного отличаются. Поэтому, в лучшем случае у Вас ничего не получится. В худшем, программа будет иметь скрытые баги - т.е. что-то, типа Hello, World! может быть и заработает, а что-то по сложнее - будет глючить и падать. Или Вы этого и добиваетесь? ![]() И, главное, зачем это всё?! Вам не нравится .NET Framework? Так не используйте его совсем! Пишите нативные приложения, которым нужна только сама Windows (или вообще уходите от винды ![]() |
|
![]() |
![]() |
![]() |
#5 | |
Регистрация: 09.09.2009
Сообщений: 5
|
![]()
Потому-что человек быстрее удалит программу и не будет разбираться в вопросе чем будет ставить framework.
Проверил на своей программе если сделать как я сказал программа работает корректно. Цитата:
|
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
А почему не собрать под 4.0?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#7 |
Регистрация: 09.09.2009
Сообщений: 5
|
![]() |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Ну соберите 2 версии, под вин8+ и под старые.
Или сделайте инсталятор и ставьте сами 4.0 если нет.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#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 или чтобы было два файла. Спасибо за ответы. |
![]() |
![]() |
![]() |
#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 |