質問

退屈な紹介:

私の職場には、非常に古いWinForms製品があります(1994年から市場に出ていて、まだVB3で動作しています)。 3つの非常に異なるバージョンがあり、それぞれが1つのクライアントに送られます。クライアントはそれをユーザーに渡し、その一部は共有されます。バージョンは共存できます。

5年前、C#.Netでこれらのバージョンの1つを書き直しました。 2年後、別のバージョン(バージョンMと呼びます)が書き直され、その2年後、最後の残りのバージョン(バージョンCと呼びます)が変換されるときがきました。私たちは1年間働いていましたが、今週は実稼働します。

変換中、外部モジュールとして販売されたものは何も変換しないことが決定されました。これらはVB6で構築され、 BeCubed および FarPoint 。バージョンMにはこのようなモジュールが2つあり、バージョンCには3つのモジュールがあります。 各モジュールには独自のMSIインストーラーがあり、メイン製品のインストーラーによって静かに実行されます。

バグ

本番中にバグを発見しました:新しいコンピューターにバージョンCをインストールし、次にバージョンMをインストールすると、外部モジュールがバージョンCで開かれるとすぐにメッセージが表示されます:

BeCubedエラー

[OK]をクリックすると、モジュールが機能します。また、これらが他の順序でインストールされ、バージョンMの両方のモジュールが完全に機能する場合、これは発生しません。

その他の詳細

  • すべてのOCXおよびDLLファイルは、すべてのモジュールセットアップを通じて比較されています。ファイルは同一です。
  • すべてのモジュールは、バージョンMまたはCが1つだけインストールされている場合、またはMが最初にインストールされている場合に機能します。
  • BeCubedを含む、使用するすべてのソフトウェアのライセンスがあります。

このようなエラーの原因を誰が知っているのか、可能な解決策は何ですか?

役に立ちましたか?

解決 2

どうやら、モジュールの1つがOCXをシステムディレクトリ(デフォルトは C:\ Windows \ System )にインストールし、他のモジュールはプログラムファイルディレクトリ( C:\ Program Files \ CompanyName \ Shared Files )。これはおそらく、OCXまたはそのようなものを二重に登録する際に競合を引き起こします。そこで何が間違っていたのかわかりませんが、1つのモジュールを変更して、他のすべての人と同じように Shared Files フォルダーにインストールすると、問題は修正されました。ここに書いているので、同様の問題を抱えている人がいたら、すべてのファイルが同じ場所にインストールされていることを確認できます。

他のヒント

まあ、ファイルには何も変更されていないので、レジストリで何かが変更されているかもしれません。

ただし、これはBeCubedに連絡するか、拡張ログを有効にする方法を尋ねるか、サポートを求める必要があるようです。

現在、実際に何が起こるかを知るのに十分な情報がありません...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top