- PR -

VB.NETで作成したCOMアドインに外部DLLを含める際のインストール設定

1
投稿者投稿内容
mjmj
会議室デビュー日: 2005/06/09
投稿数: 9
お住まい・勤務地: 東京
投稿日時: 2005-06-09 17:18
はじめまして。
VB.Netを勉強中のものです。よろしくお願いします。

マイクロソフトのサポートサイトを見ながら(↓)
http://support.microsoft.com/default.aspx?scid=kb;ja;JP302896
VB.NETでOffice用のCOMアドインを作りました。
このとき、このソリューションとは別の外部DLLを参照設定しました。
そして、デバッグをしたら上手く動いたのでセットアッパーの作成に入りました。

上記サイトの手順にしたがって作成したソリューションでは、
セットアッププロジェクトも自動的に生成されますので、
これをリビルドして、他のマシンにインストールしました。
このとき、外部DLLは、セットアッププロジェクトに
「追加」→「アセンブリ...」で立ち上がるフォームから
「参照」して取込みました。

ところが、インストール先のマシンでは、外部DLLの呼び出しに失敗してしまいます。
(TryCatchでメッセージを出して調べました。)

インストーラの設定ではないかと思っているのですが、
うまくDLLが呼べない原因が何かわからず、困っています。
有識者の方、気になることがあったらご教示いただければと思います。

なお、DLLの引数の型の問題等は、MarshalAsを使っていて
ひととおり問題なく動いています。(開発用マシンでのデバッグ)

●環境
開発用マシン
OS:WindowsXP(SP1)
開発ソフト:Visual Studio .NET 2003
テストマシン
OS:Windows2000(SP4)

いずれも、Office2003ProのSP1です。
mjmj
会議室デビュー日: 2005/06/09
投稿数: 9
お住まい・勤務地: 東京
投稿日時: 2005-06-09 18:34
自己レスです。

調べていったところ、VS.NET2003をインストールされるMFC7.1関連のDLLが
足りないために動かなかったと判明しまして、これらのいくつかを
SYSTEMディレクトリにコピーしたら、動きました。

COMアドインプロジェクトには使用する全DLLをインクルードするような
設定がなかったので気付きませんでした。

御報告までです。




1

スキルアップ/キャリアアップ(JOB@IT)