2012-03-22 6 views
1

Я разработал приложение WinForms (с использованием C#, с Visual Studio 2008) и у меня есть несколько вопросов относительно того, как строить правильно:сделать WinForms приложения работать на другом компьютере

  1. Будет файл релиз еха способный работать на другом компьютере с только необходимой инфраструктурой .net, а не визуальной студией (или любой другой визуально-ишей программой)? Размер файла exe составляет всего около 50 кбайт, что слишком мало для такого приложения, поэтому я действительно сомневаюсь в этом. Я попробовал это на другом компьютере с установленной .net, и, похоже, он работал нормально, просто хочу успокоить это.

  2. Есть ли способ включить функции .net framework, которые я использую в свое приложение, чтобы он работал на любом другом компьютере под управлением Windows (с установленной инфраструктурой .net или нет)? Как и в, включите все в один файл exe, просто щелкните и запустите клик.

Edit: При распространении программы, файл ехе 50kb достаточно, верно? Или я должен доставить всю папку выпуска?

+1

50kb более чем достаточно для приложения .net. Не забывайте, что большая часть кода хранится в сборках .net framework и поэтому не добавляет к вашему коду. Также ... еще в день 50kb считалось бы огромной программой! – KingCronus

+0

Спасибо. Так что я должен просто захватить EXE или всю папку Release? – IcySnow

+0

Сначала убедитесь, что вы скомпилировали версию выпуска. Затем убедитесь, что любые нестандартные сборки также скопированы в папку выпуска. Затем возьмите всю папку, и вам должно быть хорошо идти. – KingCronus

ответ

1
  1. Да, ваш исполняемый файл будет работать нормально на другом компьютере, если он имеет соответствующий пакет .Net и любые ссылочные сборки.

  2. Нет, нет возможности запустить приложение на компьютере без установки .Net. .Net устанавливается из коробки, если вы не используете WinXP. Вы можете отправить .Net-установщиков с помощью своего приложения.

0

Посмотрите на ClickOnce развертывания

http://msdn.microsoft.com/en-us/library/t71a733d(v=vs.100).aspx

ClickOnce является технология развертывания, что позволяет создавать приложения на базе Windows самообновлению, которые могут быть установлены и запустить с минимальным вмешательством пользователя , Visual Studio предоставляет полную поддержку публикации и обновления приложений, развернутых с помощью технологии ClickOnce , если вы разработали свои проекты с Visual Basic и Visual C#.

+0

Я пробовал это. Но процесс запутан и не совсем дружелюбен. Даже если все на моей локальной машине, файл установки по-прежнему пытается подключиться к Интернету (по крайней мере, так кажется). И BTW, я не хочу установочный файл, автономный exe будет делать. – IcySnow

+0

ClickOnce можно использовать для развертывания приложений на CD/DVD - без доступа в Интернет. –

0

Да и да.

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

0

1) вам нужны связанные с EXE И ВСЕ DLL. Все, что вам нужно сделать, это захватить папку WHOLE debug OR release, так как это OUTPUT/результат компиляции вашего приложения.

2) Если вы пишете программное обеспечение .net, вам нужна инфраструктура .net для запуска этих приложений.

+0

Это может быть немного вводить в заблуждение, обычно вам нужен только файл exe (и, конечно же, платформа dotnet), и в папке bin \ Debug есть много других файлов. Только если вы используете сторонние библиотеки, вам нужно доставить свои сборки. – martinstoeckli

+0

У кого-то может быть консольное приложение, которое использует проект dll в том же решении. Тогда установщику понадобится exe и dll. –

+0

@Adam Bruss - Правда, но user1065635 написал, он попробовал winform exe на другом компьютере, и он сработал. Разумеется, нужно предоставить все ссылочные сборки. Я просто хотел сказать, что в этом каталоге есть другие «ненужные» файлы, которые не должны быть в настройке. – martinstoeckli

0

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

0

Для первого вопроса, если он работает, почему вы беспокоиться о размере и размере скомпилированного файла достаточно мал я быть_наст ех для малого ERP, которая составляет около 600 кб. хотя у меня есть компоненты, которые заполняются.

Во-вторых, вы можете публиковать свое приложение, используя публикацию, в которой можно увидеть визуальную студию. вы также можете включить .net framework при настройке публикации. Щелкните правой кнопкой мыши проект> Свойства> Опубликовать

+0

. Я усомнился в размере приложения, потому что когда я пишу консольные приложения с C++, их размеры были всегда около 150kb. Спасибо BTW. – IcySnow

+0

мое приложение - плагин, ориентированный на большинство работ в dll's –

Смежные вопросы