C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■87085 / 2階層)  COM+に登録したアセンブリについて
□投稿者/ やや (3回)-(2018/04/11(Wed) 10:41:02)
Atataさん、ご返信まことにありがとうございます。
ネットや実験等で数十時間調査しているにも関わらず、解決していない現状ですので非常に助かります…


> そんなことはありませんが、クライアントのビット数に合わせる必要があります。

自分も同様の認識であったのですが、
今回はOSが64ビットであるにもかかわらず、COM+アプリケーションに登録するDLLが32ビットでしか動かず戸惑っている現状です。

> 以下のページと同じ手法で作成していると仮定しています。
> https://msdn.microsoft.com/ja-jp/library/ms973809.aspx
> 違う場合は指摘してください。

下記の点が異なります。

・アセンブリインフォにCOM+アプリケーション名は指定していません
・COM+アプリケーションへは動的に登録せず、コンポーネントサービスからGUI上で登録しています。

> まず、32 ビットで作成した場合、32 ビットのレジストリが構成されます。
> この後、64 ビットにビット数を変更しても 32 ビットのレジストリが残っているため、
> 64 ビットでは再登録されず、32 ビットイメージを読み込もうとして BadImageFormatException になります。

自作DLLをビルドして、COM+にGUI上から登録した場合も、レジストリ登録までされるものなのでしょうか?


> 64 ビットで登録するにはいったん 32 ビットをアンインストールした後、
> 再度 64 ビットで登録するようにしてみてください。それで問題なく動作するはずです。

ここで言っているアンインストールとは、下記の作業であっているでしょうか?
@COM+アプリケーションをコンポーネントサービスから削除
Aレジストリから当該アプリケーションを削除

いかがでしょうか?


No87080 (Atata!! さん) に返信
>>そこで質問なのですが、COM+に登録するアセンブリは、プラットフォームを32ビットにしなければいけないのでしょうか?
>
> そんなことはありませんが、クライアントのビット数に合わせる必要があります。
>
>
>>仮にそうである場合、なぜそうなるのか教えて頂けないでしょうか?
>
> 以下のページと同じ手法で作成していると仮定しています。
> https://msdn.microsoft.com/ja-jp/library/ms973809.aspx
> 違う場合は指摘してください。
>
> まず、32 ビットで作成した場合、32 ビットのレジストリが構成されます。
> この後、64 ビットにビット数を変更しても 32 ビットのレジストリが残っているため、
> 64 ビットでは再登録されず、32 ビットイメージを読み込もうとして BadImageFormatException になります。
>
> 64 ビットで登録するにはいったん 32 ビットをアンインストールした後、
> 再度 64 ビットで登録するようにしてみてください。それで問題なく動作するはずです。
>
> なお、VS2015 では 32 ビット優先が有効になっているため AnyCPU では 32 ビットでインストールされるかと思います。
>
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[1]: COM+に登録したアセンブリについて /Atata!! →Re[3]: COM+に登録したアセンブリについて /やや
 
上記関連ツリー

COM+に登録したアセンブリについて / やや (18/04/10(Tue) 15:09) #87072
Re[1]: COM+に登録したアセンブリについて / Atata!! (18/04/11(Wed) 01:37) #87080
  └ COM+に登録したアセンブリについて / やや (18/04/11(Wed) 10:41) #87085 ←Now
    └ Re[3]: COM+に登録したアセンブリについて / やや (18/04/11(Wed) 13:09) #87092
      └ Re[4]: COM+に登録したアセンブリについて / やや (18/04/12(Thu) 11:55) #87113 解決済み
        └ Re[5]: COM+に登録したアセンブリについて / Atata!! (18/04/14(Sat) 02:17) #87134 解決済み
          └ Re[6]: COM+に登録したアセンブリについて / やや (18/04/17(Tue) 13:48) #87156 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信