Как поставить диагноз "Microsoft.NET утилита запуска ClickOnce перестала работать"?

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

alt текст http://i49.tinypic.com/zk4krl.png

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

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

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

<?xml version="1.0" encoding="UTF-16"?>
<WERReportMetadata>
    <OSVersionInformation>
        <WindowsNTVersion>6.1</WindowsNTVersion>
        <Build>7600 </Build>
        <Product>(0x4): Windows 7 Enterprise</Product>
        <Edition>Enterprise</Edition>
        <BuildString>7600.16385.x86fre.win7_rtm.090713-1255</BuildString>
        <Revision>1</Revision>
        <Flavor>Multiprocessor Free</Flavor>
        <Architecture>X86</Architecture>
        <LCID>1033</LCID>
    </OSVersionInformation>
    <ProblemSignatures>
        <EventType>CLR20r3</EventType>
        <Parameter0>applaunch.exe</Parameter0>
        <Parameter1>2.0.50727.4927</Parameter1>
        <Parameter2>4a275abe</Parameter2>
        <Parameter3>mscorlib</Parameter3>
        <Parameter4>2.0.0.0</Parameter4>
        <Parameter5>4a275af7</Parameter5>
        <Parameter6>4f3</Parameter6>
        <Parameter7>0</Parameter7>
        <Parameter8>System.Security.Security</Parameter8>
    </ProblemSignatures>
    <DynamicSignatures>
        <Parameter1>6.1.7600.2.0.0.256.4</Parameter1>
        <Parameter2>1033</Parameter2>
    </DynamicSignatures>
    <SystemInformation>
      -- removed for privacy reasons --
    </SystemInformation>
</WERReportMetadata>

другой ключевой момент заключается в том, что я публикую через Visual Studio, нет ручного редактирования манифеста.

6 ответов


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

из этого:

<GenerateManifests>true</GenerateManifests>

для этого:

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

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


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

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


ClickOnce работает правильно только тогда, когда приложение является доверенным приложением (s. Свойства- > безопасность), и манифест не включает более высокое требование безопасности UAC, как в следующем файле manfest:

<?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. Любые идеи приветствуются.

--Gokhan


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


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

  • вы пытались переиздать и удалить существующую версию, например ApplicationFiles\App_1_0_0_1..25?
  • вы сообщили об этом MS на форумы MSDN С1?
  • что изменилось в коде (новые ссылки и т. д.?)

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

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


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

в этом случае, сообщение об ошибке вводит в заблуждение.