Я создал приложение WPF в VS 2017, которое устанавливается с ClickOnce.После развертывания решения в сетевом расположении я могу установить на свой 64-разрядный компьютер с Windows 10, перейдя по ссылке .application.
Однако приложение не запускается на моем компьютере после его установки.Когда я пытаюсь использовать ярлык .appref-ms из меню «Пуск», ничего не происходит.Я добавил код для запуска отладчика при запуске приложения, но он не получил удар.Я не вижу ничего, что регистрировалось в журнале кликов при запуске приложения отсюда.Я установил в реестре подробное ведение журнала.
Если я попытаюсь запустить приложение из расположения% userprofile% \ AppData \ Local \ Apps \ 2.0 \ install, оно будет работать нормально и запускает отладчик.Однако я не могу использовать это местоположение, потому что тогда оно будет использовать файл конфигурации из этого расположения, а не конфигурацию, хранящуюся в% userprofile% \ AppData \ Local \, что позволяет новым версиям продолжать использовать ту же конфигурацию.Это также неудобно для пользователей.
Если я вернусь к ссылке .application на сервере, я смогу установить новые версии при их развертывании, но он по-прежнему не запускает приложение и не регистрирует какие-либо проблемы сЗапуск приложения.
.appref-ms выглядит следующим образом, и Launcher.manifest существует в месте установки вместе с файлом, указанным в манифесте:
file://192.168.10.11/Projects/Launcher.application#Launcher.application, Culture=neutral, PublicKeyToken=0000000000000000, processorArchitecture=msil
Как сделатьЯ отследил проблему с помощью своего ярлыка ClickOnce?
Редактировать: Кто-то упомянул, что смотрел в средстве просмотра событий, и я обнаружил исключение SecurityException, которое возникает только при запуске из ярлыка.Debugger.Launch () - это первая строка в конструкторе MainWindow на частичном классе, но она не получает удар.Вот исключение из Event Viewer:
Application: applaunch.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Security.SecurityException
at System.Security.CodeAccessSecurityEngine.Check(System.Object, System.Threading.StackCrawlMark ByRef, Boolean)
at System.Security.CodeAccessPermission.Demand()
at MS.Internal.SecurityHelper.DemandUnmanagedCode()
at System.Windows.Window..ctor()
at Launcher.MainWindow..ctor()