[Отвечая на этот старый вопрос, потому что он подходит как лучший в моем случае, и принятый ответ мне не нужен].
В фоновом режиме в сценарии ClickOnce, размещенном на IIS, загружаемые компоненты помещаются в файл манифеста в корне развертывания (таким образом вы можете указать одну ссылку для загрузки и развернуть все вспомогательные компоненты).
Я конвертировал протестированное приложение из установки WiX в облегченную версию с ClickOnce и получил ошибку HTTP 500 без чего-либо еще в журналах. Естественно, я не смог обдумать это и вместо этого обнаружил, что меня тянет вниз по кроличьей норе в интернете, с инструкциями по детальной регистрации, магическим заклинаниям и т. Д.
После более трезвого размышления проблема была проста, и я должен был сразу же сказать из журнала IIS: 500, за которым следует 0, означает сокращение «ты идиот, содержание не там, где ты сказал». это было «и не имело ничего общего с ClickOnce.
Я скопировал / вставил / отредактировал существующий шаблон ссылки на скачивание в MVC, который использовался для простых приложений, и он оказался обслуживающим только два уровня подпапок в манифесте. Когда я портировал более сложную структуру проекта, в итоге я оставил элементы в подпапке «Ресурсы», которые прекрасно выглядели в манифесте, но путь был урезан в MVC, так что связанный элемент не мог быть найден.
Мораль истории - если вы получаете ошибку 500, всегда сначала проверяйте, чтобы убедиться, что ваше неработающее устройство подключено к работающей розетке ...