2

これは 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 パブリッシュの問題を最初に引き起こした原因を調査し続けます。私の推測では、タグ付けされたバージョンと私の作業コピーの参照のセットが異なっています。

4

1 に答える 1

0

非常によく似た問題が発生しました。参照 dll の 1 つが移動されましたが、ヒントパスが更新されていないことがわかりました。VS は警告を表示しませんでした。代わりに、GAC コピーを自動的に参照したため、前提条件が変更されました。GAC 参照をローカル dll 参照に置き換えることで問題を修正しました。

于 2013-01-21T22:06:32.740 に答える