Ошибка MSBuild ClickOnce: "развертывание и приложение не имеют соответствующих зон безопасности"
мы пытаемся опубликовать приложение ClickOnce через MSBuild. У нас он отлично работает для установленной версии приложения Windows.
однако, когда мы устанавливаем install в 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>GraphicsEDA 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)CertificatesTetraDataCode.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)BuildTaskInit.Tasks" />
<Import Project="$(MSBuildBinPath)Microsoft.CSharp.targets" />
<Import Project="$(SrcTreeRoot)BuildTaskOverrides.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>
2 ответов
Ниже приведен ответ Microsoft на поток, который я разместил на своем форуме. В основном они поддерживали chrome тогда, но теперь есть плагин для Chrome здесь это отлично работает.
Привет fbanderson,
Я нашел статью о ClickOnce в Firefox.
http://windowsclient.net/wpf/wpf35/wpf-deploying-clickonce-ie-firefox.aspx
.NET Framework 3.5 SP1 предлагает компонент называется .NET Framework Помощник 1.0, который обрабатывает ClickOnce .приложения. Если у вас есть установленный этот компонент, диалоговое окно появится Вам в FireFox должен содержит кнопку" Запустить приложение ClickOnce". Видишь эту кнопку? когда вы пытаетесь запустить приложение?
для Google Chrome у нас нет опыта для этого. Это новое браузер, и нам не хватает теста на нем.
с уважением,
Кира Цянь
поддержка подписчика MSDN в Форум
Если у вас есть какие-либо отзывы о нашей поддержке, пожалуйста, свяжитесь с msdnmg@microsoft.com пожалуйста, не забудьте отметить ответы как ответы, если они помогают и снимают с них клеймо, если не помогают. Добро пожаловать в
Я нашел решение, я буду рад поделиться с вами. Вы можете сделать это с помощью MageUI или с Visual Studio. Я очень рад использовать ClickOnce, так как мое развертывание теперь работает как с Internet Explorer, Chrome и Firefox.
MageUI
Если вы используете MageUI, вы должны проверить Include the provider URL in the Manifest
и введите связанный URL-адрес веб-сервера.
Visual Studio
Если вы используете Microsoft Visual Studio, то на публикации вкладка свойств проекта, нажмите на обновления... кнопка, затем в месте обновления введите URL-адрес веб-сервера публикации.