退屈な紹介:
私の職場には、非常に古い WinForms 製品があります (1994 年から市場に出ていて、まだ VB3 で実行されています)。3 つの非常に異なるバージョンがあり、それぞれが 1 つのクライアントに送信されます。クライアントはそれをユーザーに渡し、その一部は共有されます。バージョンは共存できます。
5 年前に、これらのバージョンの 1 つを C#.Net で書き直しました。2年後、別のバージョン(バージョンMとしましょう)が書き直され、その2年後、最後の残りのバージョン(バージョンCとしましょう)が変換される時が来ました. 私たちは 1 年間働いており、今週から生産に入る予定です。
変換中、外部モジュールとして販売されたものは変換しないことが決定されました。これらは VB6 で作成され、 BeCubedとFarPointのいくつかのコントロールを使用していました。バージョン M にはこのようなモジュールが 2 つ、バージョン C には 3 つのモジュールがあります。各モジュールには独自の MSI インストーラーがあり、メイン製品のインストーラーによって静かに実行されます。
不具合
制作中にバグが見つかりました。新しいコンピューターにバージョン C をインストールしてからバージョン M をインストールすると、バージョン C で外部モジュールを開くとすぐにメッセージが表示されます。
[OK] をクリックすると、モジュールが機能します。また、これは、他の順序でインストールされ、バージョン M の両方のモジュールが完全に機能する場合には発生しません。
その他の詳細
- すべての OCX ファイルと DLL ファイルは、すべてのモジュール設定を通じて比較されています。ファイルは同一です。
- すべてのモジュールは、バージョン M または C が 1 つだけインストールされている場合、または M が最初にインストールされている場合に機能します。
- BeCubed を含め、使用するすべてのソフトウェアのライセンスを取得しています。
このようなエラーの原因を知っている人はいますか?考えられる解決策は何ですか?