Ошибка MSBuild ClickOnce: «Развертывание и приложение не имеют соответствующих зон безопасности» - PullRequest
13 голосов
/ 11 мая 2010

Мы пытаемся опубликовать приложение ClickOnce через MSBuild . У нас все работает нормально для установленной версии приложения Windows.

Однако, когда мы устанавливаем значение false, чтобы оно просто запускало приложение из Интернета, мы получаем следующую ошибку при попытке запустить приложение с URL-адреса: «У развертывания и приложения нет соответствующих зон безопасности» Это отлично работает в Internet Explorer. Мы получаем только сообщение об ошибке в Chrome и FireFox.

Вот пример настроек файла проекта.

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
  <PropertyGroup>
    <SrcTreeRoot>$(MSBuildProjectDirectory)\..\..\..</SrcTreeRoot>
    <!--ClickOnceDeployFolder>$(WebOutputDir)\AnalyzerPC</ClickOnceDeployFolder-->
    <ProjectGuid>{8205E593-F400-41AE-8D6F-DEA290B2DCF9}</ProjectGuid>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ApplicationIcon>Graphics\EDA Icon.ico</ApplicationIcon>
    <AssemblyName>DASHQueryBuilder</AssemblyName>
    <OutputType>WinExe</OutputType>
    <RootNamespace>TetraData.Analyzer</RootNamespace>
    <FileUpgradeFlags>
    </FileUpgradeFlags>
    <OldToolsVersion>2.0</OldToolsVersion>
    <IsWebBootstrapper>false</IsWebBootstrapper>
    <ManifestCertificateThumbprint>...</ManifestCertificateThumbprint>
    <GenerateManifests>true</GenerateManifests>
    <SignManifests>true</SignManifests>
    <SignAssembly>true</SignAssembly>
    <ManifestKeyFile>$(BuildDir)\Certificates\TetraDataCode.pfx</ManifestKeyFile>
    <ProductVersion>9.0.21022</ProductVersion>
    <PublishUrl>http://localhost/DASHQueryBuilder/</PublishUrl>
    <Install>false</Install>
    <!--InstallFrom>Web</InstallFrom-->
    <UpdateEnabled>false</UpdateEnabled>
    <MapFileExtensions>true</MapFileExtensions>
    <PublisherName>Follett Software Company</PublisherName>
    <TrustUrlParameters>true</TrustUrlParameters>
    <ApplicationRevision>0</ApplicationRevision>
    <UseApplicationTrust>false</UseApplicationTrust>
    <PublishWizardCompleted>true</PublishWizardCompleted>
    <BootstrapperEnabled>false</BootstrapperEnabled>
  </PropertyGroup>
  <Import Project="$(SrcTreeRoot)\Build\TaskInit.Tasks" />
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  <Import Project="$(SrcTreeRoot)\Build\TaskOverrides.Tasks" />
  <Import Project="$(MSBuildProjectDirectory)\Analyzer.csproj" />
  <PropertyGroup>
    <PublishDir>$(WebOutputDir)\DASH Query Builder\</PublishDir>
    <ApplicationVersion>$(MajorMinorVersion).0.0</ApplicationVersion>
  </PropertyGroup>
  <Target Name="BeforeResolveReferences">
    <Copy SourceFiles="$(MSBuildProjectDirectory)\DASHQueryBuilder.config" DestinationFiles="$(MSBuildProjectDirectory)\app.config" />
  </Target>
</Project>

Ответы [ 3 ]

17 голосов
/ 18 августа 2011

Ниже приведен ответ Microsoft на ветку, которую я разместил на их форуме. В основном они тогда поддерживали Chrome, но теперь есть плагин для Chrome здесь , который прекрасно работает.

Привет, Фбандерсон,

Я нашел статью о ClickOnce в Firefox.

http://windowsclient.net/wpf/wpf35/wpf-deploying-clickonce-ie-firefox.aspx

.NET Framework 3.5 SP1 предлагает компонент под названием .NET Framework Помощник 1.0, который обрабатывает ClickOnce .applications. Если у вас есть Если вы установили этот компонент, диалоговое окно появится в FireFox содержат кнопку «Запустить приложение ClickOnce». Вы видите эту кнопку когда вы пытаетесь запустить приложение?

Для Google Chrome у нас нет опыта для этого. Это новый браузер и нам не хватает тестов на нем.

С уважением,

Кира Цянь

Поддержка подписчиков MSDN на форуме

Если у вас есть какие-либо отзывы о нашей поддержке, пожалуйста, свяжитесь с msdnmg@microsoft.com Пожалуйста, пометьте ответы как ответы, если они помогают и не отмечают их, если они не оказывают никакой помощи. Добро пожаловать в

7 голосов
/ 27 апреля 2013

Я нашел решение, которым буду рад поделиться с вами. Вы можете сделать это с MageUI или с Visual Studio. Я очень рад использовать ClickOnce, поскольку мое развертывание теперь работает как с Internet Explorer, Chrome, так и с Firefox.

MageUI

Если вы используете MageUI, вы должны проверить Include the provider URL in the Manifest и ввести соответствующий URL-адрес веб-сервера.

Visual Studio

Если вы используете Microsoft Visual Studio, то на вкладке Публикация свойств проекта нажмите кнопку Обновления ... , затем в месте обновления введите URL веб-сервера публикации.

0 голосов
/ 13 февраля 2019

Chrome и другие браузеры могут попытаться установить приложения clickonce из загруженной версии myapp.application (без остальной части полезной нагрузки). Это вызывает хаос (со странными сообщениями об ошибках), если вы хотите, чтобы установка происходила с веб-сайта. Чтобы убедиться, что это работает как задумано, вы можете сделать то, что упомянуто в этом ответе или, если вы используете сценарии с Mage, какой-то вариант этой команды - dim deployCmd: deployCmd = chr (34) & mageExePath & chr (34) & "-New Deployment -Имя "& chr (34) &" Мое приложение "& chr (34): deployCmd = deployCmd &" -ProviderURL [полный URL-адрес] myapp.application -IncludeProviderURL true "...

...