Visual Studio 2008 - проблемы с публикацией консольного приложения C # - PullRequest
2 голосов
/ 31 августа 2009

У меня есть консольное приложение C #, написанное в Visual Studio 2008. Обычно я просто создаю приложение и затем копирую файлы из папки «Release», но на этот раз пытаюсь сделать это «правильно», опубликовав приложение.

Я прошел «Мастер публикации» и в результате получил файл «Setup.exe» в указанной папке. При запуске этого файла установки на другом компьютере установка завершается неудачно и через сообщение об ошибке указывает, что:

Cannot download the application. The Application is missing required files...

Когда я выбираю кнопку «детали», журнал ошибок показывает, что программа пыталась загрузить файлы из каталога последней версии (т.е. 1_0_0_4).

Что я делаю не так? (кроме усталости ...)
Показать деактивировать автоинкремент версии?

Ответы [ 3 ]

9 голосов
/ 31 августа 2009

Если у вас нет веских причин для этого, я бы отказался от публикации и просто вернулся к установке XCopy. (Под «Действительным» я имею в виду нечто иное, чем кто-то сказал вам, что это «правильный» способ сделать это.) Я основываю этот совет на следующих аргументах:

  1. Некоторое время мы использовали ClickOnce для всех наших приложений WinForms, но в итоге это принесло больше хлопот, чем того стоило. Во-первых, вам нужно иметь дело с сертификатами безопасности. У нас были проблемы, когда мы заменяли сервер на новый с другим именем, тогда у нас были проблемы, когда мы заменяли наши машины для разработки и т. Д.
  2. Вы сказали, что это консольное приложение. Публикация ClickOnce кажется излишней для простого консольного приложения, если нет сторонних зависимостей, которые необходимо включить в вашу установку.

Не поймите меня неправильно, мне понравилось использовать ClickOnce для простоты размещения обновлений, и мы используем его до сих пор, когда это лучший вариант. Однако в вашей ситуации мне кажется, что развертывания XCopy должно быть достаточно для простого консольного приложения.

1 голос
/ 31 августа 2009

Не зная, что вы выбираете в мастере, в Интернете или на компакт-диске, файл setup.exe должен иметь возможность ссылаться на его установочные файлы. Если вы используете метод CD, вы увидите, что в выходном каталоге вы пересматриваете каталоги, например, 1_0_0_4, где хранится каждая ревизия вашего приложения. Я согласен с @David_Stratton, и если вам действительно не нужно использовать публикацию в один клик, не делайте этого. Просто используйте xcopy (robocopy), zipfiles и т. Д. Это значительно снизит уровень стресса в будущем.

0 голосов
/ 31 августа 2009

Все, что сказал Дэвид Страттон, верно. ClickOnce - это то, что вы пытаетесь сделать излишним, а публикация через Visual Studio всегда доставляла мне головную боль.

Я мог бы порекомендовать взглянуть на NSIS , если вы ищете программу установки для других. Относительно просто создать полные установщики, которые просто извлекают файлы из каталога /Release/, с большим количеством примеров кода для быстрой работы установщика. Когда у вас есть рабочий скрипт, сделать ваши установщики так же просто, как щелкнуть правой кнопкой мыши и щелкнуть по компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...