Firefoxを使用したClickOnceアプリケーションで問題が発生し、Chrome in IE正常に動作します。例外の詳細は次のとおりです。
PLATFORM VERSION INFO
Windows : 6.1.7600.0 (Win32NT)
Common Language Runtime : 4.0.30319.239
System.Deployment.dll : 4.0.30319.1 (RTMRel.030319-0100)
clr.dll : 4.0.30319.239 (RTMGDR.030319-2300)
dfdll.dll : 4.0.30319.1 (RTMRel.030319-0100)
dfshim.dll : 4.0.31106.0 (Main.031106-0000)
SOURCES
Deployment url : file:///C:/Users/ibz/Downloads/MyApp.application
IDENTITIES
Deployment Identity : MyApp.application, Version=1.0.1.23, Culture=neutral, PublicKeyToken=0000000000000000, processorArchitecture=msil
APPLICATION SUMMARY
* Online only application.
* Trust url parameter is set.
ERROR SUMMARY
Below is a summary of the errors, details of these errors are listed later in the log.
* Activation of C:\Users\ibz\Downloads\MyApp.application resulted in exception. Following failure messages were detected:
+ Deployment and application do not have matching security zones.
COMPONENT STORE TRANSACTION FAILURE SUMMARY
No transaction error was detected.
WARNINGS
* The manifest for this application does not have a signature. Signature validation will be ignored.
OPERATION PROGRESS STATUS
* [2/10/2012 4:53:18 PM] : Activation of C:\Users\ibz\Downloads\MyApp.application has started.
* [2/10/2012 4:53:18 PM] : Processing of deployment manifest has successfully completed.
* [2/10/2012 4:53:18 PM] : Installation of the application has started.
ERROR DETAILS
Following errors were detected during this operation.
* [2/10/2012 4:53:18 PM] System.Deployment.Application.InvalidDeploymentException (Zone)
- Deployment and application do not have matching security zones.
- Source: System.Deployment
- Stack trace:
at System.Deployment.Application.DownloadManager.DownloadApplicationManifest(AssemblyManifest deploymentManifest, String targetDir, Uri deploymentUri, IDownloadNotification notification, DownloadOptions options, Uri& appSourceUri, String& appManifestPath)
at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp)
at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc)
at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)
COMPONENT STORE TRANSACTION DETAILS
No transaction information is available.
この問題について私を助けてください。
これは、少なくともVS2008プロジェクトで機能します。
プロパティ->公開->更新->更新場所をhttp://www.example.com/ApplicationName/
に設定します
これにより、<deploymentProvider codebase=... />
ファイルの<deployment>
セクションに .application
サブセクションが追加されます。そしてこれは(少なくとも)Chromeは受け入れます。
上記のエラーが発生した場合は、マニフェストに署名しているとは見なされません。 [署名]タブで、チェックボックスがオンになっていて、有効な証明書が選択されていることを確認してください。また、これを完全信頼または部分信頼で公開していますか?部分的な信頼を行う場合、特にインターネットインストールを行う場合は、完全な信頼に変更します。
問題は、エラーメッセージが_ExampleAppName.exe.manifest could not be found
_であるはずだったことです。
ダウンロードした_ExampleAppName.application
_ファイルを開くと、おそらく_Application Files\ExampleAppName.exe.manifest
_のようなパスを指していることがわかり、そのファイルはローカルに存在しません。
IEはファイルをダウンロードせずにインストーラーを起動するため、IEでも機能します。その後、マニフェストファイルは実際には_ExampleAppName.application
_ファイルはインターネット上にあります。
修正は、_ExampleAppName.application
_ファイルを変更し、インターネット上の_AppName.exe.manifest
_が存在する場所への絶対パスを提供することです。
Visual Studio 2013では、このエラーの原因として、プロジェクトの[公開]オプションで[展開プロバイダーのURLを除外する]がオンになっていることを確認しました。
Project Properties > Publish > Options > Manifests > Un-tick "Exclude deployment provider URL"
追加の予防措置として、アプリケーションの更新/インストールが存在するルートURLを必ず指定してください。
Project Properties > Publish > Updates > Update Location (Provide the root URL where this application will be found)
ChromeのClickOnce拡張機能をインストールして有効にする必要があります。ダウンロードしたアプリをクリックしなくても、アプリケーションはすぐに実行されます。