0

私は、展開に ClickOnce を使用する .net アプリケーションの開発者です。私はこれを 60 回以上展開しましたが、コンピューターで最新リリースをダウンロードする際に問題は発生しませんでした。ただし、今朝展開したとき、Office 2007 がインストールされているコンピューターがアプリケーションを起動しようとすると、次のエラーが発生します。

アプリケーションをインストールまたは実行できません。アプリケーションでは、最初にアセンブリ stdole バージョン 7.0.3300.0 をグローバル アセンブリ キャッシュ (GAC) にインストールする必要があります。システム管理者に連絡してください。

ただし、Office 2003 を搭載したコンピューターでは問題なくアプリケーションを起動できます。

この問題を解決するための推奨事項はありますか?

4

3 に答える 3

2

私の知る限り、このバージョンのstdoleは、Office2k7がインストールされると削除されます。すべてのターゲットマシンにgacutilを介して個別にインストールする、ClickOnceパッケージのブートストラッパーを介して何らかの方法で含めることができます。現在Macを使用しているため、テストできません。

于 2008-09-23T18:45:29.373 に答える
0

特定の問題についてはわかりませんが、stdole ライブラリの Office 12 バージョンは、Office 2003 を使用する場合とは異なります (私の経験では、常に後方互換性があるとは限りません)。

Office DLL のラッパーを使用して、Office が提供する Mailmerge 機能を使用します。信じられないかもしれませんが、Microsoft は再びインターフェイスを変更したため、2つの異なる Office バージョンにリンクされた2 つの異なるラッパーをコンパイルする必要があります。要するにピタ。

管理ライブラリが提供されなくなるまで、MS office に対して再度コーディングすることはありません。

暴言にもかかわらず、Office 12 をコンピューターにインストールして、そこからテストする必要があると思います。すべての Office の機能が異なることに気付くでしょう。Office 12 で動作させることができれば、Office 11 (2003 とも呼ばれます) のマシンと互換性があるかもしれませんが、それを当てにせず、何かを展開する前にテストしてください。

これは ClickOnce とは何の関係もないと思います。それはGAC / OfficeVersionの問題です。また、UAC と DEP は「古い」アプリケーションの動作に干渉する傾向があるため、可能性のある Vista の問題を確認してください。

于 2008-09-23T18:37:29.003 に答える
0

私たちの会社が Office 2007 の展開を開始したとき、私はまったく同じ問題を抱えていました。私の最初の簡単な解決策は、問題を引き起こしている 2 台のコンピューターの GAC に stdole をコピーすることでした。

調査した結果、アプリケーションが実際には stdole を使用していないことがわかりました。テスト後に削除したCOM dllをテストしたときに、参照が追加された可能性があります。したがって、私の解決策は、[発行] タブの [アプリケーション ファイル] ダイアログから除外することでした。したがって、最初にそれが必要であることを確認してください。

私が理解している限りでは、Office などの COM dll を参照するときに必要です。このような場合は、[アプリケーション ファイル] ダイアログの [公開ステータス] を [前提条件] から [含める] に変更し、[ダウンロード グループ] を [なし] から [必須] に変更することで問題が解決したという投稿をいくつか見つけました。私の場合、stdole はデフォルトで前提条件として追加されました。

于 2008-09-26T03:03:51.593 に答える