We're trying to publish a ClickOnce application through MSBuild. We've got it working fine for an installed version of the Windows application.
However, when we set install to false, so that it just runs the application from the web, we get the following error when we try to run the application from the URL: "Deployment and application do not have matching security zones" This works fine in Internet Explorer. We only get the error message in Chrome and FireFox.
Here is a sample of the project file settings.
<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>
How To Fix Deployment and Application do not have Matching Security Zones Error. The solution is to download the application using Internet Explorer. By doing this, the . application file itself doesn't actually download, instead it is run within Internet Explorer.
To disable ClickOnce security settings With a project selected in Solution Explorer, on the Project menu, click Properties. Click the Security tab. Clear the Enable ClickOnce Security Settings check box.
Below is Microsoft's answer to the thread I posted on their forum. Basically they did support chrome back then, but now there is a plugin for Chrome here that works great.
Hi fbanderson,
I found an article talking about ClickOnce in Firefox.
http://windowsclient.net/wpf/wpf35/wpf-deploying-clickonce-ie-firefox.aspx
.NET Framework 3.5 SP1 offers a component called .NET Framework Assistant 1.0 which handles ClickOnce .applications. If you have installed that component, the dialog appear to you in FireFox should contain a “Run ClickOnce application” button. Do you see that button when you trying to launch the app?
For Google Chrome, we don’t have experience for it. It is a new browser and we lack test on it.
Sincerely,
Kira Qian
MSDN Subscriber Support in Forum
If you have any feedback on our support, please contact [email protected] Please remember to mark the replies as answers if they help and unmark them if they provide no help. Welcome to the
I found a solution that I'll be glad to share with you. You can do it with MageUI or with Visual Studio. I am really delighted to use ClickOnce as my deployment now works both with Internet Explorer, Chrome, and Firefox.
If you use MageUI, you have to check Include the provider URL in the Manifest
and type the associated URL of the web server.
If you use Microsoft Visual Studio, then on the Publish tab of the project properties, click on the Updates... button, then in the update location, type the URL of the publishing Web Server.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With