Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
 
47911
0 / -1 / 1
Регистрация: 18.06.2016
Сообщений: 130
#1

WPF - запуск без Framework - C# WPF/.NET 4.x

28.12.2016, 20:53. Просмотров 1365. Ответов 47
Метки wpf (Все метки)

Занимаюсь в Visual Studio 2015(Русский язык)

Ситуация: написал программу не особо заморачиваясь с функциями(Framework 1.0 или Framework 4.5). И после долгих трудовых недель я задался вопросом "А как запустить программу, где стоит либо Framework 1.5 максимум или не стоит его вообще"(Начиная от Windows XP. Эх. . . Прям ностальгия от этих букв. . . во было время. . .)

Итак, к делу: перерыл кучу всего, начиная с этого форума.
http://www.cyberforum.ru/cpp-beginners/thread1253015.html
http://www.cyberforum.ru/cpp-beginners/thread898095.html
http://www.cyberforum.ru/visual-studio/thread913713.html
http://www.cyberforum.ru/visual-studio/thread1141916.html

Это только на этом форуме, не полный список, + перерыл и интернет(ссылки думаю бессмысленно приводить).
Вообщем: как с программой дать человеку то, что поможет ему её запустить? Может есть МиниFramework, может можно как-то его встроить в саму программу?(запихнуть в установщик, кстати можно пример?(как сделать установщик программы. Обычно я эту тему обтекая решал: "на тебе архив, разархивируй его и всё будет тип-топ". Но щас походу этот вариант не прокатит))

После прочтения "кучи всего и во всяких формах" у меня образовалась свалка в голове. Просьба помочь разобраться.
http://www.cyberforum.ru/wpf-silverlight/thread863890.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2016, 20:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос .NET 4.x WPF - запуск без Framework (C# WPF):

Если установлен Net Framework 4, то есть ли необходимость ставить WPF Toolkit
На сколько знаю библиотека WPF Toolkit была выпущена компанией Microsift как...

WPF первый запуск
Написал я свою первую программу, на xaml <Window...

Запуск приложения WPF в VSTO
привет всем. суть проблемы: у меня есть OutlookAddin. К нему я добавил некий...

Запуск WPF и Silverlight в Windows после 10
Будут ли работать вне браузера приложения Silverlight и приложения WPF,...

C# WPF Запуск события при бездействии пользователя
Как определить бездействии пользователя? Делаю что то типа терминала... И надо...

47
XIST
1031 / 760 / 107
Регистрация: 01.10.2009
Сообщений: 2,357
Записей в блоге: 1
30.12.2016, 19:28 #21
Цитата Сообщение от Hastin Посмотреть сообщение
В целом, если у юзера не установлен фреймворк, при запуске, программа его потребует,
она не запуститься воОбще, не найдя точку для запуска
0
Someone007
1928 / 1614 / 721
Регистрация: 09.05.2015
Сообщений: 4,017
Завершенные тесты: 1
30.12.2016, 19:43 #22
Цитата Сообщение от XIST Посмотреть сообщение
она не запуститься воОбще, не найдя точку для запуска
Это уже от OS зависит. Все актуальные версии ОС Windows автоматически предлагают установить отсутствующий компонент.
1
XIST
1031 / 760 / 107
Регистрация: 01.10.2009
Сообщений: 2,357
Записей в блоге: 1
30.12.2016, 19:46 #23
Someone007, какой компонент? Вы сами смоделируйте ситуацию, ПО не запуститься! не найдя точку входа в DLL, которая должна быть в системе, как и подключив к ПО DLL например FastReport, и разместив на другом ПК это ПО без той же DLL, просто тупо не будет вызов main функции, почему я уже описал выше
0
Someone007
1928 / 1614 / 721
Регистрация: 09.05.2015
Сообщений: 4,017
Завершенные тесты: 1
30.12.2016, 19:49 #24
Цитата Сообщение от XIST Посмотреть сообщение
какой компонент?
Компонент ОС, а именно .NET Framework нужной версии. Сторонние библиотеки конечно сами не установятся...

Вот у меня Windows 10, при попытке запустить приложение, требующее .NET Framework 2.0, 3.0 или 3.5 будет автоматически предложено установить .NET Framework 3.5, необходимый для запуска.
0
XIST
1031 / 760 / 107
Регистрация: 01.10.2009
Сообщений: 2,357
Записей в блоге: 1
30.12.2016, 19:51 #25
Someone007, какой компонент? Вы сами смоделируйте ситуацию, ПО не запуститься! не найдя точку входа в DLL, которая должна быть в системе, как и подключив к ПО DLL например FastReport, и разместив на другом ПК это ПО без той же DLL, просто тупо не будет вызов main функции, почему я уже описал выше
Цитата Сообщение от Someone007 Посмотреть сообщение
Компонент ОС, а именно .NET Framework нужно версии.
Вы не правы, не знаю как там OS 10.0, а раньше любая ОС просто не сможет его запустить, ОПЯТЬ ЖЕ не найдя точку входа ПО просто в системе которая ссылается на DLL фрэймворка отсутствующего в системе!
0
Someone007
1928 / 1614 / 721
Регистрация: 09.05.2015
Сообщений: 4,017
Завершенные тесты: 1
30.12.2016, 19:55 #26
Цитата Сообщение от XIST Посмотреть сообщение
Вы не правы, не знаю как там OS 10.0, а раньше любая ОС просто не сможет его запустить, ОПЯТЬ ЖЕ не найдя точку входа ПО просто в системе которая ссылается на DLL фрэймворка отсутствующего в системе!
Не несите бред, если не разбираетесь в чем-то. То, о чем вы говорите последний раз видел на Windows XP, которая ну никак не тянет на актуальную версию ОС.
1
nicolas2008
216 / 206 / 75
Регистрация: 30.04.2009
Сообщений: 594
Завершенные тесты: 1
30.12.2016, 20:31 #27
Цитата Сообщение от Someone007 Посмотреть сообщение
Не несите бред, если не разбираетесь в чем-то. То, о чем вы говорите последний раз видел на Windows XP, которая ну никак не тянет на актуальную версию ОС.
Товарищ XIST дело говорит. Если фреймворк не установлен, то программа не запустится и даже не предложит установить фреймворк, даже на Windows 10.
Другое дело, что, начиная с версии .NET Framework 2.0, среда поддерживает обратную совместимость (т.е. если установлен, например, .NET 4.5, то там будут работать приложения собранные под .NET 2.0 - 4.5).
Вы видать не работали на реальных проектах - заказчикам не интересно какая там последняя версия ОС вышла, так как она стоит денег, и никому не интересно как там все круто само обновляется (через Windows Update) и что там по умолчанию установлена последняя версия .NET.
Никто не будет покупать последнюю версию Windows только потому что вам так удобней для разработки.
1
Someone007
1928 / 1614 / 721
Регистрация: 09.05.2015
Сообщений: 4,017
Завершенные тесты: 1
30.12.2016, 21:11 #28
Цитата Сообщение от nicolas2008 Посмотреть сообщение
Товарищ XIST дело говорит.
Бред он говорит.

https://msdn.microsoft.com/ru-ru/lib....aspx#OnDemand

Вот такой запрос появляется на актуальных версиях ОС Windows при попытке запуска программы, требующей .NET Framework, если .NET Framework не установлен.
0
XIST
1031 / 760 / 107
Регистрация: 01.10.2009
Сообщений: 2,357
Записей в блоге: 1
31.12.2016, 07:48 #29
Someone007, бред говоришь, попробуй, да тут с XP я больше воюю, но ты не компетентен в вопросе вызова стека приложения, к чему спрос, ты попробуй

Добавлено через 43 секунды
Цитата Сообщение от nicolas2008 Посмотреть сообщение
Вы видать не работали на реальных проектах
видать да, пустословие

Добавлено через 10 часов 31 минуту
Цитата Сообщение от nicolas2008 Посмотреть сообщение
Вы видать не работали на реальных проектах
видать да, пустословие Someone007,
ты мне минус 25 в карму а я тебе плюс, только не волнуйся) А так да, про вин 10-8 речь не шла, а остальные ОС, реально использующиеся, такого не поддерживают, так что я прав
0
47911
0 / -1 / 1
Регистрация: 18.06.2016
Сообщений: 130
03.01.2017, 13:49  [ТС] #30
Цитата Сообщение от Someone007 Посмотреть сообщение
Не несите бред, если не разбираетесь в чем-то. То, о чем вы говорите последний раз видел на Windows XP, которая ну никак не тянет на актуальную версию ОС.
И тем не менее у меня, одна из целевых систем, Windows XP, как и написано в моём 1-м сообщении.
0
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
03.01.2017, 14:24 #31
Цитата Сообщение от nicolas2008 Посмотреть сообщение
Товарищ XIST дело говорит. Если фреймворк не установлен, то программа не запустится и даже не предложит установить фреймворк, даже на Windows 10.
Наверное, у меня какая-то неправильная Windows 10
(кстати, MSDN-сборка 1607, а YourLines.exe - приложение, собранное под .NET 2.0):
WPF - запуск без Framework
0
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
03.01.2017, 14:34 #32
А вот что происходит на Windows 7 при попытке запустить приложение,
собранное под .NET Framework 4.0:
WPF - запуск без Framework
0
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
03.01.2017, 14:37 #33
А на серверных редакциях ситуация еще более сложная: там система предлагает
устанавливать .NET через 'Roles and Features', еще на Server 2012 и выше
может потребоваться установочный диск Windows...
0
nicolas2008
216 / 206 / 75
Регистрация: 30.04.2009
Сообщений: 594
Завершенные тесты: 1
03.01.2017, 14:53 #34
Убежденный, Какой результат будет, если на Windows 10 без последних обновлений (т.е. с версией .NET 4.6) запустить приложение собранное под .NET 4.6.2 ?
0
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
03.01.2017, 15:02 #35
Цитата Сообщение от nicolas2008 Посмотреть сообщение
Какой результат будет, если на Windows 10 без последних обновлений (т.е. с версией .NET 4.6) запустить приложение собранное под .NET 4.6.2 ?
Не знаю. Но это ведь легко проверить, имея виртуалку с Windows 10 по рукой.
Ведь .NET 4.6.2 не установлен на Win10-1511, насколько я понимаю?
0
47911
03.01.2017, 18:03  [ТС]
  #36

Не по теме:

Какой разгорелся спор, я прям не ожидал. Но мне очень интересна эта тема.
nicolas2008, я ещё не закончил с проверкой сказанного вами про ClickOnce. Есть неотложные дела. Но как разберусь - сразу отпишусь.

0
OwenGlendower
Супер-модератор
Эксперт .NET
8749 / 7753 / 3318
Регистрация: 17.03.2014
Сообщений: 15,253
Записей в блоге: 1
03.01.2017, 18:58 #37
Цитата Сообщение от nicolas2008 Посмотреть сообщение
Какой результат будет, если на Windows 10 без последних обновлений (т.е. с версией .NET 4.6) запустить приложение собранное под .NET 4.6.2 ?
Если рядом будет файл конфигурации с элементом <supportedRuntime> где указан .NET 4.6.2, то Windows должна предложить скачать .NET. Если файла конифигурации нет или тм указана уже установленная версия .NET, то программа запустится. И если она не использует возможностей из .NET 4.6.1 или 4.6.2, то отработает скорее всего без ошибок.
2
47911
0 / -1 / 1
Регистрация: 18.06.2016
Сообщений: 130
04.01.2017, 11:07  [ТС] #38
nicolas2008, я тут немного порылся с вашими рекомендациями к публикации приложения. Вообщем: оно мне выплюнуло файл "в котором не вшито" FrameWork 4.0. При этом результат - "Скачивание и установка приложения из локального источника". А я планировал получить "Установочный файл с FrameWork 4.0". Я что-то делаю не так? Или не так объяснил?

Добавлено через 26 минут
Имеется ввиду, что установочный файл будет запускаться на другом компе, который может и не иметь доступа к инету.
0
nicolas2008
216 / 206 / 75
Регистрация: 30.04.2009
Сообщений: 594
Завершенные тесты: 1
05.01.2017, 00:26 #39
Цитата Сообщение от 47911 Посмотреть сообщение
nicolas2008, я тут немного порылся с вашими рекомендациями к публикации приложения. Вообщем: оно мне выплюнуло файл "в котором не вшито" FrameWork 4.0. При этом результат - "Скачивание и установка приложения из локального источника". А я планировал получить "Установочный файл с FrameWork 4.0". Я что-то делаю не так? Или не так объяснил?
Добавлено через 26 минут
Имеется ввиду, что установочный файл будет запускаться на другом компе, который может и не иметь доступа к инету.
Да че-то я невнимательно читал, думал дозагрузка из инета будет подходящим вариантом.


Добавить фреймворк в инсталяционный пакет, так чтобы инсталятор не требовал интернета для дозагрузки, чуть сложнее.
Для этого необходимо сделать следующее:

1. В настройках ClickOnce в окне Prerequisites выбрать опцию "Download prerequisites from the same location as my application" (Получать зависимые компоненты из места где находится приложение).

2. Сделать Publish. Возникнет ошибка, названия файла может быть другое в зависимости от выбраного в Prerequisites фреймворка:
To enable 'Download prerequisites from the same location as my application' in the Prerequisites dialog box, you must download file 'DotNetFX452\NDP452-KB2901907-x86-x64-AllOS-ENU.exe' for item 'Microsoft .NET Framework 4.5.2 (x86 and x64)' to your local machine. For more information, see http://go.microsoft.com/fwlink/?LinkId=616018.

3. Нужно скачать указанный офлайн инсталятор и положить его в соответствующую папку Visual Studio SDK, в данном случае это папка
c:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\DotNetFX452\
Полное название файла 'NDP452-KB2901907-x86-x64-AllOS-ENU.exe' хорошо гуглится и в первых строках поиска будет ссылка на загрузку оффлайн инсталятора из офф. сайта Microsoft. В данном случае https://www.microsoft.com/pl-pl/download/details.aspx?id=42642

4. Если все сделано правильно, повторный Publish произойдет без ошибок, инсталятор .NET Framework будет находится в папке рядом с приложением и при необходимости будет запущен в процессе установки приложения.
Итого должно получиться примерно следующее в папке публикации ClickOnce:
Application Files
dotnetfx452
setup.exe
WpfTmp.application

Это и есть "ClickOnce пакет", все эти файли и папки необходимы для установки.

Добавлено через 6 минут
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Если рядом будет файл конфигурации с элементом <supportedRuntime> где указан .NET 4.6.2, то Windows должна предложить скачать .NET. Если файла конифигурации нет или тм указана уже установленная версия .NET, то программа запустится. И если она не использует возможностей из .NET 4.6.1 или 4.6.2, то отработает скорее всего без ошибок.
Может быть, но факт в том, что установить требуемую более новую версию фреймворка даже не предложит, а это как раз и является проблемой при поставке приложения.
0
47911
0 / -1 / 1
Регистрация: 18.06.2016
Сообщений: 130
05.01.2017, 02:23  [ТС] #40
nicolas2008, Уважаемый. Я как раз на этой ошибке и остановился. Щас нету возможности продолжить эксперимент, но вопрос: после "Установки setup.exe", где находится программа физически? Т.е. у меня налажено обновление по habrahabr.ru: файл-программа лезет в инет, смотри версию, если есть новее - качает архив, разархивирует, запускает обновлятор, он переносит файлы проги, запускает её. Всё привязано на запускной файл - вот что меня ещё беспокоит.
0
05.01.2017, 02:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2017, 02:23
Привет! Вот еще темы с решениями:

Запуск приложения на платформе .NET Framework 4.0, на другом компьютере без установки .NET Framework 4.0
Как запустить приложение на платформе .NET Framework 4.0, на другом компьютере...

Запуск программы без Net FrameWork
Есть ли под C# нечто вроде py2exe для Python? (Что бы создать один исполняемый...

Много ли ресурсов потребляет wpf интерфейс без свистелок
Сколько видел серверов, все представлены консольными приложениями, почему?...

CardView в WPF win приложении без сторонних библиотек
Доброго времени суток! Столкнулся с такой пробемой - требуется выводить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru