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

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

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

Re[9]: VB .NET 2008 COMコンポーネント


(過去ログ 26 を表示中)

[トピック内 16 記事 (1 - 16 表示)]  << 0 >>

■12131 / inTopicNo.1)  VB .NET 2008 COMコンポーネント
  
□投稿者/ Cheerful factory (1回)-(2007/12/31(Mon) 14:03:50)
Cheerful factory さんの Web サイト

分類:[VB.NET/VB2005] 

2007/12/31(Mon) 14:13:46 編集(投稿者)
2007/12/31(Mon) 14:06:25 編集(投稿者)

今回VB6.0からVB .NET 2008へ移行して「Microsoft Office スプレッドシート」を利用したソフトウェアを作成しましたが、配布先では起動時にエラーが起きて起動してくれません、
EXEファイルの発行時には全てのDLLを追加するようにしましたが状況は変わりませんでした、
エラー表示
http://carefreeness.futene.net/software/software_power_management_following_two/0000002.png


また、VB6.0で「Microsoft Office スプレッドシート」を利用したEXEを作ったときは「Spreadsheet」と表示されていたのですが
.NETでは「AxSpreadsheet」と表示されていて、見た目は同じなのに名前が少し違うようです、

解決方法や間違ったところが未だに判りません、解決方法等のアドバイスをよろしくお願いします!
m(_ _)m

開発環境
Windows XP HOME
Microsoft Office 2003インストール済み
VB .NET 2008 EE

配布先
Windows XP HOME
Microsoft Office 2003インストール済み
VB .NET 3.5インストール済み

引用返信 編集キー/
■12132 / inTopicNo.2)  Re[1]: VB .NET 2008 COMコンポーネント
□投稿者/ よもやま (12回)-(2007/12/31(Mon) 14:19:31)
よもやま さんの Web サイト
No12131 (Cheerful factory さん) に返信
> 2007/12/31(Mon) 14:13:46 編集(投稿者)
> 2007/12/31(Mon) 14:06:25 編集(投稿者)
>
> 今回VB6.0からVB .NET 2008へ移行して「Microsoft Office スプレッドシート」を利用したソフトウェアを作成しましたが、配布先では起動時にエラーが起きて起動してくれません、
> EXEファイルの発行時には全てのDLLを追加するようにしましたが状況は変わりませんでした、
> エラー表示
> http://carefreeness.futene.net/software/software_power_management_following_two/0000002.png
>
アクセスエラーで参照できません。

引用返信 編集キー/
■12133 / inTopicNo.3)  Re[2]: VB .NET 2008 COMコンポーネント
□投稿者/ Cheerful factory (2回)-(2007/12/31(Mon) 14:33:23)
Cheerful factory さんの Web サイト
2007/12/31(Mon) 14:36:57 編集(投稿者)

>>エラー表示
>>http://carefreeness.futene.net/software/software_power_management_following_two/0000002.png
>>
> アクセスエラーで参照できません。
>
見れないようになるんですね、すいません!
http://hey.chu.jp/up/source3/No_11510.png
こっちにアップしなおしました

追記
このエラーはフォームに「AxSpreadsheet」を貼り付けてコンパイルされたEXEのみ発生しています
エラーの原因は「AxSpreadsheet」関連にあることはわかっています
引用返信 編集キー/
■12136 / inTopicNo.4)  Re[1]: VB .NET 2008 COMコンポーネント
□投稿者/ 渋木宏明(ひどり) (619回)-(2007/12/31(Mon) 15:12:44)
渋木宏明(ひどり) さんの Web サイト
> 今回VB6.0からVB .NET 2008へ移行して「Microsoft Office スプレッドシート」を利用したソフトウェアを作成しましたが、配布先では起動時にエラーが起きて起動してくれません、

実行環境に「Micorosft Office スプレッドシート」が存在しないからでしょう。

「Microsoft Office スプレッドシート」が何に付属してるコンポーネントか知りませんが、VS2008 に標準で含まれているものではありません。
Visual Studio 2008 でのビルド結果とは別に、「Microsoft Office スプレッドシート」も実行環境に配布しなければならないです。

> また、VB6.0で「Microsoft Office スプレッドシート」を利用したEXEを作ったときは「Spreadsheet」と表示されていたのですが
> .NETでは「AxSpreadsheet」と表示されていて、見た目は同じなのに名前が少し違うようです、

Vsiual Studio 2008 は、.NET アプリケーションで ActiveX コントロールを扱うためのラッパクラスを自動生成します。
ラッパクラスの名称にはプリフィックスとして Ax が付けられるようです。

引用返信 編集キー/
■12138 / inTopicNo.5)  Re[2]: VB .NET 2008 COMコンポーネント
□投稿者/ Cheerful factory (3回)-(2007/12/31(Mon) 15:27:15)
Cheerful factory さんの Web サイト
2007/12/31(Mon) 15:28:02 編集(投稿者)

No12136 (渋木宏明(ひどり) さん) に返信


>>また、VB6.0で「Microsoft Office スプレッドシート」を利用したEXEを作ったときは「Spreadsheet」と表示されていたのですが
>>.NETでは「AxSpreadsheet」と表示されていて、見た目は同じなのに名前が少し違うようです、
>
> Vsiual Studio 2008 は、.NET アプリケーションで ActiveX コントロールを扱うためのラッパクラスを自動生成します。
> ラッパクラスの名称にはプリフィックスとして Ax が付けられるようです。
>
そういった決り事だったんですね!
ありがとうございました、ロード先は間違っていないということで一つ安心しましたw
ありがとうございました!

>>今回VB6.0からVB .NET 2008へ移行して「Microsoft Office スプレッドシート」を利用したソフトウェアを作成しましたが、配布先では起動時にエラーが起きて起動してくれません、
>
> 実行環境に「Micorosft Office スプレッドシート」が存在しないからでしょう。
>
> 「Microsoft Office スプレッドシート」が何に付属してるコンポーネントか知りませんが、VS2008 に標準で含まれているものではありません。
> Visual Studio 2008 でのビルド結果とは別に、「Microsoft Office スプレッドシート」も実行環境に配布しなければならないです。
>
この事はVB6.0で解決しているのですが.NETではエラーで終了しています
VB6.0での方法として「OWC11.DLL」を配布先がDLしてEXEファイルと同じディレクトリに入れることで解決しました
.NETでは同じ方法ではこの問題が解決されませんでした、何かが不足しているのは勘でわかるのですが
一体何が足りないのかがわからない状況です

引用返信 編集キー/
■12141 / inTopicNo.6)  Re[3]: VB .NET 2008 COMコンポーネント
□投稿者/ 渋木宏明(ひどり) (620回)-(2007/12/31(Mon) 17:32:46)
渋木宏明(ひどり) さんの Web サイト
> VB6.0での方法として「OWC11.DLL」を配布先がDLしてEXEファイルと同じディレクトリに入れることで解決しました
> .NETでは同じ方法ではこの問題が解決されませんでした、何かが不足しているのは勘でわかるのですが
> 一体何が足りないのかがわからない状況です

VB6.0 時点での解決方法が不十分に見えます。

「Microsoft Office スプレッドシート」が ActiveX コントロールであるなら、「.DLL ファイルを .EXE と同じディレクトリに配置する」*だけ*で動作するはずはありません。

ActiveX コントロール/AvtiveX DLL は、regsvr32.exe ツールなどによって「システムへの登録」を行うことで、はじめて利用可能となります。

引用返信 編集キー/
■12142 / inTopicNo.7)  Re[4]: VB .NET 2008 COMコンポーネント
□投稿者/ Cheerful factory (4回)-(2007/12/31(Mon) 17:56:57)
Cheerful factory さんの Web サイト
No12141 (渋木宏明(ひどり) さん) に返信
>>VB6.0での方法として「OWC11.DLL」を配布先がDLしてEXEファイルと同じディレクトリに入れることで解決しました
>>.NETでは同じ方法ではこの問題が解決されませんでした、何かが不足しているのは勘でわかるのですが
>>一体何が足りないのかがわからない状況です
>
> VB6.0 時点での解決方法が不十分に見えます。
>
> 「Microsoft Office スプレッドシート」が ActiveX コントロールであるなら、「.DLL ファイルを .EXE と同じディレクトリに配置する」*だけ*で動作するはずはありません。
>
> ActiveX コントロール/AvtiveX DLL は、regsvr32.exe ツールなどによって「システムへの登録」を行うことで、はじめて利用可能となります。
>

VB6.0は配布するソフトなのでレジストリの登録は一切行わせませんでした、
VB6.0ではエラーとしてOCXが不足しているといわれたのでディレクトリに入れてやると動作をします、
これはほぼ100%の動作報告だったのでこれで間違いはないと思います、
(Microsoft Officeがインストールされていなくても「OWC11.DLL」のみで動作可能レジストリ登録無し)
.NETではソフトウェアのエラーという形で終了します

やっぱりレジストリで登録をしてあげるのが一番の解決方法なんでしょうか?
引用返信 編集キー/
■12146 / inTopicNo.8)  Re[5]: VB .NET 2008 COMコンポーネント
□投稿者/ Cheerful factory (5回)-(2007/12/31(Mon) 19:02:48)
Cheerful factory さんの Web サイト
いろいろとアドバイスを頂いた結果、
Microsoftから無償で配布している「Office 2003 アドイン : Office Web Components」
を配布先にインストールすることでエラーを回避しました、

今までありがとうございましたm(_ _)m
解決済み
引用返信 編集キー/
■12147 / inTopicNo.9)  Re[6]: VB .NET 2008 COMコンポーネント
□投稿者/ 渋木宏明(ひどり) (621回)-(2007/12/31(Mon) 19:13:42)
渋木宏明(ひどり) さんの Web サイト
> Microsoftから無償で配布している「Office 2003 アドイン : Office Web Components」
> を配布先にインストールすることでエラーを回避しました、

なるほど。名称から見て、それが OWC11.dll を含む正規の配布パッケージのようですね。

「Micorosoft Office スプレッドシート」はどこに含まれてたんでしょうね。Office なのかな?

どちらにしろ、VB6 時代に「これとこれいれときゃ動く」的なノリで配布方法を厳密に確定しなっかたのが敗因でしょうね。

引用返信 編集キー/
■12186 / inTopicNo.10)  Re[7]: VB .NET 2008 COMコンポーネント
□投稿者/ ちゃっぴ (80回)-(2008/01/03(Thu) 18:27:55)
ちゃっぴ さんの Web サイト
No12147 (渋木宏明(ひどり) さん) に返信
> なるほど。名称から見て、それが OWC11.dll を含む正規の配布パッケージのようですね。
>
> 「Micorosoft Office スプレッドシート」はどこに含まれてたんでしょうね。Office なのかな?

Office の install option で選択できます。
引用返信 編集キー/
■12187 / inTopicNo.11)  Re[8]: VB .NET 2008 COMコンポーネント
□投稿者/ 渋木宏明(ひどり) (622回)-(2008/01/03(Thu) 19:33:35)
渋木宏明(ひどり) さんの Web サイト
> Office の install option で選択できます。

とすると、実行環境に Office PIA いれなくていいのかなーとか思ってしまふ。
引用返信 編集キー/
■12188 / inTopicNo.12)  Re[5]: VB .NET 2008 COMコンポーネント
□投稿者/ まどか (424回)-(2008/01/03(Thu) 20:18:08)
No12142 (Cheerful factory さん) に返信
> VB6.0は配布するソフトなのでレジストリの登録は一切行わせませんでした、
> VB6.0ではエラーとしてOCXが不足しているといわれたのでディレクトリに入れてやると動作をします、
> これはほぼ100%の動作報告だったのでこれで間違いはないと思います、
> (Microsoft Officeがインストールされていなくても「OWC11.DLL」のみで動作可能レジストリ登録無し)
> .NETではソフトウェアのエラーという形で終了します
>
> やっぱりレジストリで登録をしてあげるのが一番の解決方法なんでしょうか?

「一番」ではありません。
ActiveXはレジストリ登録が「必須」です。

> Microsoftから無償で配布している「Office 2003 アドイン : Office Web Components」
> を配布先にインストールすることでエラーを回避しました、

それがレジストリ登録してくれたからです。
引用返信 編集キー/
■12205 / inTopicNo.13)  Re[6]: VB .NET 2008 COMコンポーネント
□投稿者/ 中博俊 (1235回)-(2008/01/04(Fri) 21:53:27)
中博俊 さんの Web サイト

> 「一番」ではありません。
> ActiveXはレジストリ登録が「必須」です。

そんなことはありません。
http://msdn2.microsoft.com/en-us/library/aa374219.aspx

引用返信 編集キー/
■12267 / inTopicNo.14)  Re[7]: VB .NET 2008 COMコンポーネント
□投稿者/ まどか (425回)-(2008/01/07(Mon) 03:50:43)
No12205 (中博俊 さん) に返信
> そんなことはありません。
> http://msdn2.microsoft.com/en-us/library/aa374219.aspx

「.NETから」か。
一つお勉強。
引用返信 編集キー/
■12268 / inTopicNo.15)  Re[8]: VB .NET 2008 COMコンポーネント
□投稿者/ 渋木宏明(ひどり) (623回)-(2008/01/07(Mon) 06:20:51)
渋木宏明(ひどり) さんの Web サイト
> 「.NETから」か。

COM の side-by-side と .NET は全然関係ないですよ?

XP 以降ならレジストリ登録なしで CoCreateInstance() 出来たりするので、便利は便利です。

引用返信 編集キー/
■12271 / inTopicNo.16)  Re[9]: VB .NET 2008 COMコンポーネント
□投稿者/ まどか (426回)-(2008/01/07(Mon) 10:22:45)
> COM の side-by-side と .NET は全然関係ないですよ?

COMにもそういう仕組みが。
またまた、お勉強。。。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -