14

私の会社には、クライアントがWindows732ビットにインストールするように要求したCrystalReports7を使用するVB6アプリケーションがあります。現在、クライアントのWindowsXP32ビットSP2マシンにインストールされています。DBへの接続は、別のサーバー上のSQLServer2000インスタンスへのODBCを介して行われます。

Windows 7では、インストールは正常に機能しますが、アプリケーションを開こうとすると、エラーが発生します。

私は以下を見てきました:

  • zippy32を使用してすべてのdllおよびocxファイルを登録します。すでに登録されているか、「[name] .dll」が有効なDLLまたはOCXファイルであることを確認してから再試行してください」というメッセージが表示されるため、登録されないものもあります。私はこれに関してこのフォーラムスレッドを読みました:http://social.msdn.microsoft.com/forums/en-US/vblanguage/thread/0653f685-4526-45d9-89f3-8c479a6b4c62
  • ProcessMonitorアプリケーションを使用してアプリケーションの起動を監視し、不足しているdllまたはocxファイルがあるかどうかを確認しました。これは当てはまらないようです。
  • このリストに従ってアプリケーションをレビューしましたが、これらのガイドラインに違反するものはないようです。

これに関連するナレッジベースの2つの項目に気づきました

  • http://support.microsoft.com/kb/281848-アプリケーションにバンドルされているcomdlg32.ocxはバージョン6.0.81.69であり、開発マシン(WinXP 32ビット)のsystem32フォルダーにあるものは6.1.97.82です。しかし、これが問題だった場合、確かに現在は機能しませんか?
  • http://support.microsoft.com/kb/184898-これが問題であることを確認する方法がわかりません

最後に、複雑さのため、このアプリケーションにコードを変更することは許可されていません。たとえそうだったとしても、私はVB6プログラマーではなく、ひどくサポートプロジェクトを手に入れた男です!コードの変更が必要な場合は、WinXPモードを使用して調査する必要があります。

更新:XPモードでも同じエラーが発生します。これは、SP3VMを搭載したWinXPです。これはWinXPSP2 VMで実行されますが、これを引き起こす可能性のある何かがSP3にある可能性がありますか?それとも、XPモードであるという事実だけですか?

4

4 に答える 4

7

同じエラーが発生しましたが、C:\ Windows\SysWOW64でzippy32.exeを使用して解決しました。x64システムを使用しているためです。したがって、マシンがx64でもある場合、ocx/dllはzippy32x64バージョンにも登録されている必要があります。

于 2016-08-22T09:27:56.613 に答える
4

msrdo20.dllファイルがインストールに含まれていません。

Windows Vista、Windows Server 2008、およびWindows7でのVisualBasic 6.0のサポートステートメントによると、このファイルはアプリケーションと一緒に配布する必要があります。

そうでない理由はわかりませんが、私の解決策は、ファイルをマシンのどこかに配置し、コマンドラインでzippy32を使用して登録することです。例:

regsvr32 c:\windows\system32\msrdo20.dll

理想的な世界では、これを再配布可能なものと一緒にパッケージ化します。

于 2010-11-22T15:00:09.050 に答える
2

このダウンロードにより、VB6EXEとAccess2016(ACEDAO.DLLを使用)の実行時エラー429が修正されました。429の原因が非常に多いため、解決に2日かかりました。

http://www.microsoft.com/en-ca/download/details.aspx?id=13255

リンクからの引用:「このダウンロードでは、2010 MicrosoftOfficeSystemファイルとMicrosoftOffice以外のアプリケーション間のデータ転送を容易にするために使用できる一連のコンポーネントがインストールされます。」

于 2015-12-06T15:20:41.293 に答える
0

VB6 IDEをインストールすると機能すると言うので、問題は、使用しようとしているコンポーネントがインストールされているVB6ランタイムに依存していることである可能性があります。

VB6ランタイムは、デフォルトではWindowsにインストールされていません。

IDEのインストールは、ランタイムを取得する1つの方法です。開発者以外のマシンの場合は、代わりにMicrosoftの「再配布可能な」インストーラーパッケージを使用する必要があります。

これは、MicrosoftのVB6ランタイムインストーラーの1つです。コンポーネントに適したバージョンになるかどうかはわかりません。

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7b9ba261-7a9c-43e7-9117-f673077ffb3c

于 2010-11-22T12:54:14.057 に答える