2

atl.dll がマシンに登録されていないため、アプリケーションと共に配布している COM dll が登録に失敗するという問題が発生しています。

簡単な修正は、dll で regsvr32 を実行することですが、それよりも少しクリーンなものが必要です。

私は展開の経験があまりなく、atl.dll がマシンに登録されているかどうかを判断できる方法があり、そうでない場合はコードから登録できるかどうか疑問に思っていました。

私は現在、msi インストーラー用の C# カスタム アクションを持っているので、そこにロジックを追加してタスクを実行できる可能性があります。

前もって感謝します。

4

1 に答える 1

2

インストーラーに正しいマージ モジュールを含める必要があります。これらは にインストールされC:\Program Files\Common Files\Merge Modulesます。必要なファイルが見つからない場合は、 Windows SDKや Visual Studioのいずれかに「再頒布可能コンポーネント」機能がインストールされていない可能性があります(既定ではどちらも選択されていないと思います)。

  • ATL90.DLLで見つけることができますMicrosoft_VC90_ATL_x86.msm
  • ATL80.DLLで見つけることができますMicrosoft_VC80_ATL_x86.msm
于 2010-02-24T21:47:25.907 に答える