これは Service Pack 1 を搭載した Windows 7 マシンです。XP マシンにもインストールする必要があるため、x86 ターゲット プラットフォーム構成を使用して C# WPF アプリケーションを公開しました。
私が扱っている問題は厄介なものになっています。アプリケーションは、Visual Studio 2008 デバッグ モードで正常に動作します。パブリッシュから生成されたセットアップ実行可能ファイルを実行すると、インストールは正常に完了します (または少なくともそのように表示されます) が、開こうとするとApplication cannot be started. Contact the application vendor.
メッセージ ボックスが表示されます。
ログ ファイルのエラー概要セクションは次のとおりです。
ERROR SUMMARY
Below is a summary of the errors, details of these errors are listed later in the log.
* Activation of http://ServerPath/MyApplication_Install/Release/x86/MyApplication.application resulted in exception. Following failure messages were detected:
+ Value does not fall within the expected range.
エラーの詳細セクション:
ERROR DETAILS
Following errors were detected during this operation.
* [9/12/2012 8:15:42 AM] System.ArgumentException
- Value does not fall within the expected range.
- Source: System.Deployment
- Stack trace:
at System.Deployment.Application.NativeMethods.CorLaunchApplication(UInt32 hostType, String applicationFullName, Int32 manifestPathsCount, String[] manifestPaths, Int32 activationDataCount, String[] activationData, PROCESS_INFORMATION processInformation)
at System.Deployment.Application.ComponentStore.ActivateApplication(DefinitionAppId appId, String activationParameter, Boolean useActivationParameter)
at System.Deployment.Application.SubscriptionStore.ActivateApplication(DefinitionAppId appId, String activationParameter, Boolean useActivationParameter)
at System.Deployment.Application.ApplicationActivator.Activate(DefinitionAppId appId, AssemblyManifest appManifest, String activationParameter, Boolean useActivationParameter)
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)
ここには他の ClickOnce に関する質問がありますMicrosoft.Vbe.Interop, Version=14.0.0.0
。これは、このログ ファイルのOPERATION PROGRESS STATUS
セクションの下に表示されますが、アセンブリをグローバル アセンブリ キャッシュにインストールする必要があるとは言いません。
* [9/12/2012 8:45:19 AM] : Detecting dependent assembly Microsoft.Vbe.Interop, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C, processorArchitecture=msil using Microsoft.Vbe.Interop, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=msil.
* [9/12/2012 8:45:19 AM] : Detecting dependent assembly Microsoft.Vbe.Interop, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C using Microsoft.Vbe.Interop, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c.
以前のインストールで残ったファイル/フォルダーを削除する必要がありますか? これは私の直感ですが、AppData/Local/Temp または Windows/System32 フォルダー内のどこを見ればよいかわかりません。
編集
私はいくつかの深い掘り下げを行い、ここで私のアプリケーションの実行可能ファイルを見つけました:
C:\Users\MyUsername\AppData\Local\Apps\2.0\A30V87AA.25Q\PQ06CCDW.CYM\wpfb..tion_41f7e986af356c0c_0004.0004_b15da840f06645a3\MyApplication.exe
エラーなしでロードされました。そして、これが私のソース コードではなく、インストールによるものであることを確認するために、コントロール パネルでアンインストールを行い、そのディレクトリを確認したところ、すべてのファイルがなくなっていました。
setup.exe から再インストールした後、別の奇妙なフォルダー ディレクトリのセットが作成されましたが、それでもアプリケーションを実行することができました。
では、ディレクトリApplication cannot be started. Contact the application vendor.
の奥深くに作業コピーがあるにもかかわらず、インストール後にメッセージが表示されるのはなぜでしょうか?AppData
編集#2
で提案されているようにjvanh1
、私は管理者として実行して、違いがあるかどうかを確認しました。残念ながらそうではありませんでした。
タグ付けされた最新のバージョンをチェックアウトし、手動でコピー/貼り付けを行う必要がありました-その後の公開は実際に機能しました。ここでのより重要な問題は、これまでバージョン管理で (少なくともこのアプリケーションでは) 分岐を使用したことがないということです。
この厄介な ClickOnce パブリッシュの問題を最初に引き起こした原因を調査し続けます。私の推測では、タグ付けされたバージョンと私の作業コピーの参照のセットが異なっています。