MSBuild を介してClickOnceアプリケーションを公開しようとしています。インストールされているバージョンのWindowsアプリケーションで正常に動作しています。
ただし、installをfalseに設定して、Webからアプリケーションを実行するだけの場合、URLからアプリケーションを実行しようとすると、「デプロイメントとアプリケーションに一致するセキュリティゾーンがありません」というエラーが発生します。これは正常に機能します。 InternetExplorerで。 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>
以下は、私が彼らのフォーラムに投稿したスレッドに対するマイクロソフトの回答です。基本的に彼らは当時chromeをサポートしていましたが、今ではChrome here )のプラグインがあります。
こんにちはfbanderson、
FirefoxでClickOnceについて話している記事を見つけました。
http://windowsclient.net/wpf/wpf35/wpf-deploying-clickonce-ie-firefox.aspx
.NET Framework 3.5 SP1は、ClickOnce.applicationsを処理する.NETFramework Assistant1.0と呼ばれるコンポーネントを提供します。そのコンポーネントをインストールした場合、FireFoxに表示されるダイアログには、「ClickOnceアプリケーションの実行」ボタンが含まれているはずです。アプリを起動しようとすると、そのボタンが表示されますか?
Google Chromeの場合、経験はありません。これは新しいブラウザであり、テストが不足しています。
よろしくお願いいたします。
キラ銭
フォーラムでのMSDNサブスクライバーサポート
サポートについてフィードバックがある場合は、msdnmg @ Microsoft.comまでご連絡ください。回答が役に立った場合は回答としてマークを付け、役に立たなかった場合はマークを外してください。へようこそ
私はあなたと共有したいと思う解決策を見つけました。 MageUI またはVisualStudioで実行できます。デプロイがInternetExplorer、Chrome、Firefoxの両方で機能するようになったため、ClickOnceを使用できることを大変うれしく思います。
MageUIを使用する場合は、Include the provider URL in the Manifest
を確認し、Webサーバーの関連URLを入力する必要があります。
Microsoft Visual Studioを使用している場合は、 Publish プロジェクトプロパティのタブで、をクリックします。 Updates... ボタンをクリックし、更新場所に公開WebサーバーのURLを入力します。
Chromeやその他のブラウザは、ダウンロードしたバージョンのmyapp.applicationから(残りのペイロードなしで)clickonceアプリをインストールしようとする場合があります。これにより、Webサイトからインストールを実行する場合、大混乱が発生します(奇妙なエラーメッセージが表示されます)。これが意図したとおりに機能することを確認するには、この回答に記載されていることを実行できます。Mageでスクリプトを使用している場合は、このコマンドのいくつかのバリアント-dim deployCmd:deploymentCmd = chr(34)&mageExePath&chr(34)& "-New Deployment -名前 "&chr(34)&"マイアプリケーション "&chr(34):deploymentCmd = deployCmd&" -ProviderURL [full url] myapp.application -IncludeProviderURL true ".. ..