2

インストールして正常に動作する .NET 4 WPF ClickOnce 展開があります。ただし、別の .NET 3.5 WPF アプリケーションもあり、最初のアプリケーションが既にインストールされている場合、同じサーバーからインストールされる別のキーと別の URL の場所で署名され、インストールに失敗します。.NET 3.5 アプリを最初にインストールし、次に .NET 4 アプリをインストールしようとすると失敗します。これは複数のマシンで複製されており、StackTrace は以下に示されています。

Application cannot start...

+ Exception occurred during store operation.
+ Value does not fall within the expected range.

ERROR DETAILS
Following errors were detected during this operation.
* [12/17/2012 8:06:51 AM] System.Deployment.Application.DeploymentException (ComponentStore)
- Exception occurred during store operation.
- Source: System.Deployment
- Stack trace:
at System.Deployment.Application.ComponentStore.SubmitStoreTransaction(StoreTransactionContext storeTxn, SubscriptionState subState)
at System.Deployment.Application.ComponentStore.CommitApplication(SubscriptionState subState, CommitApplicationParams commitParams)
at System.Deployment.Application.SubscriptionStore.CommitApplication(SubscriptionState& subState, CommitApplicationParams commitParams)
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)
--- Inner Exception ---
System.ArgumentException
- Value does not fall within the expected range.
- Source: System.Deployment
- Stack trace:
at System.Deployment.Internal.Isolation.IStore.Transact(IntPtr cOperation, StoreTransactionOperation[] rgOperations, UInt32[] rgDispositions, Int32[] rgResults)

これら 2 つのアプリケーションが競合する理由はありますか?

4

1 に答える 1

2

したがって、問題は私が使用していた2つのアセンブリにありました...アプリケーションが単独でインストールされている場合は正常に動作しますが、3.5アプリケーション(同じアセンブリの古いバージョンを使用)とは何らかの形で競合します。

問題の原因となったアセンブリは次のとおりです。

Microsoft.Practices.EnterpriseLibrary.Common-4.1.0.0.dll Microsoft.Practices.EnterpriseLibrary.ExceptionHandling-4.1.0.0.dll

これらを削除して新しい 5.0.* バージョンに置き換えたところ、両方のアプリケーションを同じマシンに公開してインストールできました。

これらは新しい dll 名です。

Microsoft.Practices.EnterpriseLibrary.Common.dll Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.dll

于 2013-01-09T21:56:33.500 に答える