Компиляция приложения VS2012 в .exe без какого-либо установщика

Есть ли способ опубликовать приложение VS2012 (WPF) в .exe без установщика? Я знаю, как использовать установщики ClickOnce, но мне было интересно, можно ли сделать еще один шаг вперед.

Многие небольшие программы поставляются в формате .rar с некоторыми файлами приложений и .exe, которые запускаются и не требуют установки. Возможно ли это в VS2012? (или 2010)


person Wilson    schedule 28.03.2013    source источник
comment
.net установлен на целевой машине? у вас есть какие-либо сторонние зависимости?   -  person Daniel A. White    schedule 28.03.2013
comment
@DanielA.White Я бы, вероятно, распространял его на Vista и выше, так что да. В XP нет .NET, верно? И это не для конкретного проекта, просто любопытно, но да, в некоторых проектах у меня есть сторонние библиотеки.   -  person Wilson    schedule 28.03.2013
comment
это зависит от версии комбинации .net/windows, на которую вы пытаетесь ориентироваться.   -  person Daniel A. White    schedule 28.03.2013


Ответы (3)


Да, конечно, это возможно. Просто скомпилируйте приложение в режиме Release и возьмите все, что у вас есть, в папке Release.

person realnero    schedule 28.03.2013
comment
@Wilson, убедитесь, что установлена ​​правильная версия .net! - person Daniel A. White; 28.03.2013
comment
@ Дэниел А. Уайт Как я могу это сделать, все еще используя автономный? Одинаковы ли версии .NET для всех установок XP и т. д.? - person Wilson; 28.03.2013

Это возможно с Visual Studio 2012 в зависимости от ваших потребностей и вашего подхода к разработке приложения. Я перечислю несколько вариантов, но не считайте это исчерпывающим, поскольку есть много способов сделать одно и то же. Я предполагаю, что вам нужно решение «1 клик» для пользователя.

  1. Вы можете встроить все ресурсы вашего приложения в приложение, чтобы ваши пользователи могли просто загружать или скопируйте .exe и запустите его из любого места, и он «просто работает».

Плюсы: единственный метод, который дает вам то, что вы просили. Один .exe без установки.

Минусы: Вы не можете редактировать ни один из встроенных ресурсов без перекомпиляции приложения. Вы также не можете сохранять пользовательские настройки по той же причине (хотя вы можете создать файл настроек без вывода сообщений в App_Data или подобном).

  1. Самораспаковывающийся архив. Это метод WinRAR, который вы упомянули в своем вопросе. Вы встраиваете свое приложение в самораспаковывающийся архив, который настроен на извлечение в пользовательский каталог Temp или App_Data (или аналогичный) и запуск исполняемого файла после успешного извлечения.

Плюсы: вы получаете возможность обновлять свои ресурсы, поскольку они не встроены в ваше реальное приложение.

Минусы: Технически это все еще установщик; хотя очень легкий и автономный.

Есть и другие, такие как однократный щелчок; д., но это объясняло общую идею.

Примечание. Чтобы они работали так просто, как я описал, необходимо установить правильную версию .NET.

person Frazell Thomas    schedule 28.03.2013

Вот проблемы, о которых я могу думать, что установщик позаботится о том, о чем вам нужно будет беспокоиться:

  1. Правильная платформа .NET уже существует.
  2. Все сборки, на которые вы ссылаетесь из GAC, уже установлены.
  3. Вам не нужны какие-либо настраиваемые записи реестра или разрешения.
  4. Ваше приложение не имеет доступа к чему-либо, что могло бы помешать ему работать в среде с низким уровнем доверия, когда пользователь не работает в качестве администратора.

Конечно, их больше, но в основном, если ваше приложение автономно и не использует никаких внешних ресурсов, а также установлена ​​правильная платформа .NET, вы сможете просто скопировать выходные данные сборки и начать работу.

person jlew    schedule 28.03.2013