2011-12-21 10 views
1

Windows XPでうまく動作する.vbsスクリプトを使用します。 Vista 64またはWindows Server 2008に移行すると、自分のスクリプトは何をしているのですか?しかし、スクリプトが完了すると、cscript.exeがクラッシュします。スクリプトがVista 64で実行された後にcscript.exeがクラッシュする

私のスクリプトは32ビットの古いcomオブジェクトを使用するので、私はsyswow64にあるcscriptの32ビット版を使用します。もちろん、これらのCOMオブジェクトは再コンパイルできません。

adplusはxpではなくvista 64でアクセス違反c0000005が行われたことを伝えています。

検索の結果、32ビットCOMオブジェクトを使用するためにレジストリハックを試みましたが、失敗したDEPを無効にしようとしました。

アイデア?

ありがとうございました。

答えて

0

クラッシュを確認すると、デバッガを使用してミニダンプとコールスタックを取得したり、プロセスをクラッシュさせる特定の障害モジュールがあるかどうかを識別できます。このような問題を孤立させると、そのような奇妙な動作の理由がわかります。必ずしも最初に問題の原因となっているスクリプトホストではありません。

+0

お返事ありがとうございます。はい問題は、ミニダンプによるとntdll.dllから来ているようです。 –

+0

@CastorMalinこれは、無効なパラメータがWin32関数に渡されたことを意味します。最初の非ウィンドウDLLを見つけるためにスタックを見下す必要があります。これは通常、責任を負うものです。 – Ben

+0

私は64ビットのcscriptを使用できるレジストリのハック(dllサロゲート)を見つけました。それは今うまくいく。 –

関連する問題