No.5ベストアンサー
- 回答日時:
様子見ということなので、了解しました。
ただ、今後また再発する可能性がゼロではないので、
ご面倒かもしれませんが、問題のコンポーネントのソースコードや、
ドキュメント(設計書)を探して、今後のトラブル発生時の
重要リソースとして管理することを強くお勧めします。
なお、dll ですが、逆アセンブリすれば、できますが
dll によっては、著作権違反に抵触する恐れがあるので
ソースがないから、dllを除くという発想は、お勧めしかねるところです。
また、更に、できるのであれば、dllを使ってiniファイルを
読み込む形式ではなく、iniファイルをxmlファイルなどに移行し、
dllを使って情報読み込みをさせるのではなく、
ASP(VBScript)を使って、xmlファイルの内容を
Application_OnStartで読み込ませるように改修した方が、
今後のためかと思います。
「エラーになります。でもソースがありません」では、
何も対処できないと思いますので、上記の件も含めて、
ご検討頂ければと思います。
あまりお役に立てなくてすいませんでした。
ご丁寧にご指導いただきありがとうございました。
ドキュメントはなさそうですし、エラーもいつ再発するかわからないので、改修する方向で進めていきたいと思います。
本当にありがとうございました!
No.4
- 回答日時:
問題コンポーネントのソースがないとのことなので、
とりあえず、私の予測・想像の範疇では、
・このコンポーネントは、何かの設定情報を持っている
iniファイル(設定ファイル)を読み込むために使っている
・そして、そのiniファイルの読み込みに、Win APIの
「GetPrivateProfileString」を使っている可能性が高い
・で、戻り値である、-101は、Win APIの
「GetPrivateProfileString」の戻り値の可能性が高い
ということです。
以上のことをまとめると
・そのWebアプリ上に必要な独自の*.iniファイルがどこかにあります。
その*.iniを探し出し、%windir%\system32\ の下か、
そのコンポーネント(dll)が設置されている場所と
同じ場所に、*.iniファイルを移動してください
・*.iniファイルを所定の場所に設定したら、IISを再起動。
すると、動くと思います。
残念ながら、そのiniファイルを探さない限り、このエラーは
絶対消えないと思います。
もし、お使いのアプリが使用している*.iniファイルが
所定の場所にあるのに、エラーになるという場合は、
また別でご相談頂けますか?
よろしくお願いします。
最近は、このiniファイルを読み込めないというエラーがでなくなり、迷宮入りしそうなかんじです・・・。
アドバイスの通りiniファイルを移動してみましたが、移動するとすぐにエラーが出てWebアプリが起動しませんでした。
想像でしかありませんが、何かのタイミングの時にiniファイルが読み込めないようです。
とりあえず、再現待ちということにしたいと思います。。。
いろいろと教えていただき本当にありがとうございました。
No.3
- 回答日時:
Set Ini = Server.CreateObject("kCls100.kIni")
lRet = Ini.OpenProfile(iniファイル)
をGlobal.asaに記述されているとのことですが、
Application_OnStartの中で記述されてますか?
もしくは、Session_OnStartの中で記述されていますか?
(正式なFunction名は忘れましたが、ApplicationとSessionの
どちらのLoadでやっているのか教えて下さい)
ただ、今、この段階で言えるのは、コンポーネント「kCls100.kIni」
の中身がどうなっているのか、ソースコードが少しでも
公開されない限り、ご回答ができないので、
もう少し、情報を整理して頂き、情報をお寄せ頂けると助かります。
お手数をおかけいたしますが、もう少し補足情報を頂ければと
思います。よろしくお願いします。
この回答への補足
コメントありがとうございます。
まず、
Set Ini = Server.CreateObject("kCls100.kIni")
lRet = Ini.OpenProfile(iniファイル)
は、Application_OnStartで記述されています。
そして、コンポーネント「kCls100.kIni」
の中身がどうなっているのか(ソースコード)調べたいのですが、その調査方法がわかりません。
これを作った人は今いません。
サーバにあるどのファイルから調査したらよいのでしょうか??
ちなみに、レジストリに登録したdllファイルは2つ存在し、system32配下にコピーしたdllファイルは6つあります。
質問ばかりで申し訳ありませんがよろしくお願い致します。
すみません、記述にミスがありました。
誤)system32配下にコピーしたdllファイルは6つあります
正)system32配下にコピーしたdllファイルは2つ、expファイルは2つ、libファイルが2つあります
以上です、よろしくお願い致します。
No.2
- 回答日時:
元々 2003サーバー IIS6.0で稼動していたのでしょうか?
前任者が開発したコンポーネントならその人にこの場合のえらーコードの意味は何かを確認しましょう
また 該当部分のソースがあるならそちらを支障の無い範囲で投稿してみませんか
実行権限者のアクセス権限関連ではねられているような気もします
この回答への補足
NTサーバーIIS4.0で稼働しています。また2000サーバー、IIS5.0でも稼働しています。
そして、前任者は今はいないためその人に確認することはできません。。。
該当部分のソースは、
Set Ini = Server.CreateObject("kCls100.kIni")
lRet = Ini.OpenProfile(iniファイル)
IRetは-101となります。
OpenProFileで、iniファイルをオープンする処理がうまくいかない時があります。
ちなみにこの処理はApplication_OnStart
内で実行しています。
実行権限者のアクセス権限関連で、、、ということですが、ほとんどエラーは出ません。
以前はサーバー再起動後に出たようですが今は再起動後にも出なくなりました。
引き続きどういうタイミングで出るか調査していきたいと思います。
No.1
- 回答日時:
Server.CreateObject("AAA") の「AAA」にあたる部分(CLSID)が
わからないと、回答できません。
これは、独自でVBやVC++で作られたコンポーネントですか?
もし、独自で作られているコンポーネントや誰かが作ったフリーの
コンポーネントを使用しているのであれば、そのコンポーネントの作者
に聞かない限りエラーの原因は追究できないと思います。
取り急ぎ、CLSIDを教えて下さい。よろしくお願いします。
この回答への補足
アドバイスありがとうございます。
「AAA」にあたる部分は「kCls100.kIni」です。初期の開発者が独自で作っているようです・・・。
そのコンポーネントの中身を詳しくみたいのですが、system32配下にある(使用していると思われる).dllになるんですよね?
(検討違いでしたらすみません)
その.dllを開いて詳細を確認するにはどのようにしたら良いのでしょうか??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- Windows 10 VirtualBox 7のゲストOSでの物理HDDパーティションのマウント方法 2 2023/05/04 13:01
- その他(メールソフト・メールサービス) メールが送信できない 発信側でできる対策 3 2023/05/11 10:22
- Excel(エクセル) エクセル 「実行時エラー"13":型が一致しません。」エラーについて 5 2022/05/04 10:46
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Windows 10 プロファイルエラーについて 2 2022/12/16 09:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセス 壊れた? 「ファイ...
-
Latexで図番号だけを「図1.1」...
-
binファイルを解凍したいの...
-
exeファイルをデータ転送サービ...
-
Seasar2のdiconファイルの読み方
-
HTMLからのBATファイル実行
-
ディレクトリの監視と変更ファイル
-
XPでVB6.0ディストリビューショ...
-
CSVから指定行だけを読み込み
-
VBAで特定の場所にあるCSVファ...
-
コマンドプロンプトで、指定し...
-
warファイルをEclipseでプロジ...
-
参照するファイルをワイルドカ...
-
ハイパーリンクされたJPGファイ...
-
公文書のxmlファイルの開き方が...
-
パイソンでpy ファイルと p...
-
vbsにてショートカットが存在す...
-
Word VBA MSGBOX 内で降順表示
-
Batファイルをバイナリ形式にす...
-
CSSを1ページに1枚作るのって変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス 壊れた? 「ファイ...
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
binファイルを解凍したいの...
-
.NETアプリを作ったときの .man...
-
ファイル構造が破損しているフ...
-
2つのファイルのバイナリをコン...
-
CSSを1ページに1枚作るのって変...
-
Word VBA MSGBOX 内で降順表示
-
公文書のxmlファイルの開き方が...
-
jarファイル
-
バッチ処理で追記コピーしたい
-
自分で作成した重要ファイルを...
-
ファイルは何で構成されている...
-
exeファイルをデータ転送サービ...
-
リンクの張り付けかたを教えて...
-
exeファイルの中身を見る方法は...
-
参照するファイルをワイルドカ...
-
CRCが一致する確率
-
C言語---ファイルに出力したデ...
おすすめ情報