1

アプリケーションを起動して実行しましたが、ClickOnce 経由で正しくインストールしたくないようです。Powershell を使用し、アプリケーション ファイルに Microsoft.Management.Infrastructure.DLL、Microsoft.Management.Infrastructure.Native.DLL、および System.Management.Automation.DLL を含めました。私はそれらすべてをあらゆる方法で試しました(含める、前提条件、除外する)。また、それらをGACからそのフォルダーにコピーすることにより、参照に手動でコピーしました。さらに、ローカルにコピーするように設定しています。

そのために、csproj ファイルの参照を次のように変更する必要があるといういくつかの指示に従いました。

<Reference Include="Microsoft.Management.Infrastructure"/>

参照ごとに。そうすれば、コンピューター上の最新の DLL を実際に探すことができます。

問題は、それらが prereqs に設定されている場合、最初に GAC にインストールする必要があるというメッセージが表示されることです。含めるように設定されている場合、ファイルがコピーされ、アプリケーションが実行されると思いますが、...

「システム Windows PowerShell スナップインの読み込み中にエラーが発生しました。Microsoft サポート サービスにお問い合わせください。」

ここで、Powershell のさまざまなバージョンまたはさまざまなコンピューター上の Automations dll に絞り込みました。私のコンピューターではアプリケーション全体が正常に動作しますが、(一部の) 他のコンピューターでは動作しません。

そう!詳細を説明しすぎたかどうかはわかりませんが、アプリケーションが必要な DLL を単純にコピーするか、既存の DLL を参照するようにすることを望んでいます (できれば後者)。

誰でもこれを手伝ってもらえますか?

4

1 に答える 1

1

これらのファイルはPowerShellによってインストールされます。あなたはあなたのアプリと一緒にそれらをインストールしたくありません。使用しているインストーラーは、これらの依存関係を「除外」する方法を提供する必要があります。カスタムアクションとして必要なPowerShellのバージョンを確認し、適切なバージョンのPowerShellが必要ない場合はユーザーに警告することをお勧めします。

于 2013-02-14T21:30:25.377 に答える