0

退屈な紹介:

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

5 年前に、これらのバージョンの 1 つを C#.Net で書き直しました。2年後、別のバージョン(バージョンMとしましょう)が書き直され、その2年後、最後の残りのバージョン(バージョンCとしましょう)が変換される時が来ました. 私たちは 1 年間働いており、今週から生産に入る予定です。

変換中、外部モジュールとして販売されたものは変換しないことが決定されました。これらは VB6 で作成され、 BeCubedFarPointのいくつかのコントロールを使用していました。バージョン M にはこのようなモジュールが 2 つ、バージョン C には 3 つのモジュールがあります。各モジュールには独自の MSI インストーラーがあり、メイン製品のインストーラーによって静かに実行されます。

不具合

制作中にバグが見つかりました。新しいコンピューターにバージョン C をインストールしてからバージョン M をインストールすると、バージョン C で外部モジュールを開くとすぐにメッセージが表示されます。

BeCubedエラー

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

その他の詳細

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

このようなエラーの原因を知っている人はいますか?考えられる解決策は何ですか?

4

2 に答える 2

0

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

于 2009-01-08T01:19:43.943 に答える
0

まあ、ファイルには何も変更されていないので、レジストリで何かが変更されている可能性があります。

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

現時点では、実際に何が起こっているのかを知るのに十分な情報がありません...

于 2009-01-07T21:15:01.927 に答える