То, как я диагностирую “Утилиту Запуска Microsoft.NET ClickOnce, прекратило работать”?

Мы развертываем наше использование приложения ClickOnce, установленный от пути к файлу. Для 24 версий это работало отлично - теперь, на версии 25 я получаю следующую ошибку, после того как приложение установило, и это запускается:

alt text

Если я тестирую предыдущее развертывание на той же машине, это работает.

Где я могу даже начать надеяться находить причину этой ошибки? Я уже проверил журналы событий окон - ничто.

Править: Я заметил, что, в то время как диалоговое окно отображено, временный XML-файл 'WER561D.tmp.WERInternalMetadata.xml' сгенерирован в моей временной папке. Вот содержание (это могло бы содержать подсказки, полезные более хорошо осведомленным в этой области, чем I):



    
        6.1
        7600 
        (0x4): Windows 7 Enterprise
        Enterprise
        7600.16385.x86fre.win7_rtm.090713-1255
        1
        Multiprocessor Free
        X86
        1033
    
    
        CLR20r3
        applaunch.exe
        2.0.50727.4927
        4a275abe
        mscorlib
        2.0.0.0
        4a275af7
        4f3
        0
        System.Security.Security
    
    
        6.1.7600.2.0.0.256.4
        1033
    
    
      -- removed for privacy reasons --
    

Другой ключевой пункт - то, что я публикую с помощью Visual Studio, нет никакого ручного явного продолжения редактирования.

8
задан Glorfindel 14 June 2019 в 22:05
поделиться

5 ответов

Думаю, я определил проблему, хотя не знаю, как это произошло. Сравнение текущего файла проекта с версией, которая работала, показало, среди прочих изменений, эти отличия:

от этого:

<GenerateManifests>true</GenerateManifests>

до этого:

<GenerateManifests>false</GenerateManifests>
<TargetZone>LocalIntranet</TargetZone>
<ApplicationManifest>Properties\app.manifest</ApplicationManifest>

Если я удалю TargetZone и ApplicationManifest и установлю для GenerateManifests значение false - это сработает.

9
ответ дан 5 December 2019 в 15:23
поделиться

Согласно MSDN , вы можете просмотреть файлы журналов, чтобы помочь вам. Существует также Устранение неполадок развертываний ClickOnce ] страница, которая может вам помочь.

0
ответ дан 5 December 2019 в 15:23
поделиться

Похоже, что происходит сбой при проверке на наличие новой версии, так как вы говорите, что это происходит после обновления

  • пытались ли вы повторно опубликовать и удалить существующую версию, например
  • Вы сообщили об этом MS на форумах MSDN для C1?
  • Что изменилось в коде (новые ссылки и т.д.?)

Трудно сказать, поскольку информация об оконных ошибках никогда не дает полезной информации, но, спорю, вам там повезет. Обычно так и делаю.

Также, и я знаю, что это маловероятно, поскольку в нем содержится ссылка на system.security, вы что-то изменили, совпадают ли ограничения в сетевой папке для этой версии, и вы добавили какие-либо требования безопасности?

0
ответ дан 5 December 2019 в 15:23
поделиться

ClickOnce работает правильно только тогда, когда приложение является ДОВЕРЕННЫМ ПРИЛОЖЕНИЕМ (s. Свойства-> Безопасность) и манифестом НЕ включает какие-либо более высокие требования к безопасности UAC, как в следующем файле манфеста:

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <assemblyIdentity version="1.0.0.0" name="MaxLine5651v1" type="win32" />
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
</asmv1:assembly>

Если у вас есть манифест, запрашивающий более высокие привилегии, ClickOnce НЕ примет публикацию вашего проекта.

Я тоже борюсь в этом отношении. Мне нужно приложение для доступа к реестру, журналу и настройкам брандмауэра; и я хочу, чтобы его можно было обновлять онлайн. К сожалению, с ClickOnce это не работает. Любые идеи приветствуются.

- Гохан

1
ответ дан 5 December 2019 в 15:23
поделиться

Вы изменили приложение с полного доверия на частичное? Вот как это выглядит. Зона интрасети является частью системы безопасности с частичным доверием. Посмотрите вкладку «Безопасность» на страницах свойств вашего проекта.

Во-вторых, на вкладке «Приложение» страницы свойств вашего проекта «Значок и манифест» - каково значение поля манифеста? Это создание приложения без манифеста? Попробуйте установить для него значение «Вставить манифест с настройками по умолчанию» и посмотрите, поможет ли это.

2
ответ дан 5 December 2019 в 15:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: