Как проверить, установлен ли .Net Framework [C # / WPF] - PullRequest
5 голосов
/ 09 февраля 2011

Перед запуском моего приложения (при загрузке формы) я хочу проверить и убедиться, что .NET Framework (3.5 или выше) установлены на машине - если нет, я хочу предложить пользователю загрузить и установить его (простой MessageBox с ИНТЕРНЕТ-ССЫЛКОЙ на веб-страницу Microsoft было бы лучшей идеей, нет?) Итак, это на самом деле влечет за собой два вопроса ...

a) Как определить, если установлены .NET FrameWork 3.5 или выше? (Я не доверяю или просто хочу найти папку C: \ Program Files \ Microsoft.NET, кажется, подвержена ошибкам?) Учитывая, что это очень важно, в C # должен быть хороший способ определить, какая версия .NET установлена ​​на его компьютере? Я просто понятия не имею, как ..

б) КАК вставить ИНТЕРНЕТ-ССЫЛКУ (гиперссылку?) В MessageBox? Так что, если у пользователя НЕ установлена ​​платформа .NET (1.1 или 2.0), я могу попросить его просто щелкнуть ссылку, чтобы скачать ее?

Любая помощь / подсказки будет принята с благодарностью.

Спасибо, Дин

Ответы [ 6 ]

3 голосов
/ 09 февраля 2011

a) Вам нужно будет загрузить программу с использованием языка, отличного от .NET (C ++, VB6 и т. Д.), А не Form_Load (другие плакаты верны - если инфраструктура не установлена, программа .NET не будет работать ). Пример здесь:

http://www.codeproject.com/KB/mcpp/DotNetTester.aspx

b) Вы не можете поместить гиперссылку в MessageBox, поэтому вам придется создать свой собственный всплывающий диалог (форму). РЕДАКТИРОВАТЬ: Эта форма / диалог должен быть в программе начальной загрузки.

1 голос
/ 09 февраля 2011

Вы не можете сделать это в .NET, потому что это потребует .NET в первую очередь. Однако вы можете создать собственное приложение, которое будет выполнять проверку, а затем запускать приложение .NET. В этом посте объясняется, как определить версию платформы .NET .

1 голос
/ 09 февраля 2011

Вы не можете сделать это из вашего приложения. Приложение не запустится.

Один из возможных вариантов - установка ClickOnce, которая проверит, установлен ли .NET.

0 голосов
/ 09 февраля 2011

Этот вопрос не имеет смысла.

Автор хочет иметь возможность определить, установлен ли .NET Framework 3.5, но предлагает ли ссылку на .NET Framework 1.1 и / или .NET Framework 2.0.Помимо того факта, что вы легко можете просто создать проект установки, который делает точно так же, как Paint.net (хотя у них есть загрузчик), вы захотите убедиться, что установлена ​​правильная версия .NET Framework.

Если установлена ​​только .NET Framework 1.1 и вы не установили .NET Framework 4.0 / 3.5 для своего пользователя, у вас возникнет серьезная проблема.

Если вы продвигаете .NET Framework 4.0тогда вы не помогаете своим коллегам-программистам.

0 голосов
/ 09 февраля 2011

Итак, вы хотите создать .NET-приложение, которое проверяет, установлен ли .NET на компьютере?

Если .NET Framework не установлен, как вы думаете, как программа запускается при первом запуске?место

0 голосов
/ 09 февраля 2011

Ваш код не будет работать без фреймворка, поэтому вы не сможете отобразить диалоговое окно.

Эта проверка должна выполняться при установке.

...