2012-04-10 34 views
1

私は以前の賢明なインストーラーを働かせています。このプロセスの最後にインストーラがVBスクリプトを実行し、次の手順が実行されます。VBscriptがDLLを見つけることができません

  1. cscript - runscriptupdatesという名前のvbsファイルを実行します。
  2. Runscriptupdates.vbsは -

はXYZを挿入できませんでしたエラーメッセージが送り出される

  • libmcl.dllと呼ばれる別のDLLを呼び出す -
  • Remote.dll Remote.dllという名前のCOM DLLを呼び出します.CSVエラー53ファイルが見つかりません:libmcl-2.7.0.dll、行0、ファイル= C:\ DATA \ CLIENTの\のxyz.csv

  • だから結論はします。cscript/VBS/remote.dllですlibmcl-2.7.0.dllが見つかりません。手動でスクリプトを実行してインストーラの同じ動作を再現することができます。これまでに試したことはありますが、私はまだ同じ失敗メッセージを受けています。 runscriptupdates.vbs

  • のディレクトリにlibmclコピーしremote.dll
  • のディレクトリにlibmclコピーします。cscript
  • のディレクトリにlibmclコピーし

    1. 私はそれがどのポインタを持っていたかどうかを確認するために融合ログオンが、それは、.NETはないので、私は場合は、この時点で
    2. がregsrvとlibmcl登録しようとしましたが、それはできない

    使用のものはありませんコマンドプロンプトからパスを確認し、libmclを保持しているフォルダがパスにないことを確認します。しかし、myComputer-> Advanced-> EnvironmentVariablesでチェックすると、フォルダはパスにあります。

    インストールの試行後にマシンを再起動してからインストーラを再実行すると、問題はありません。インストール時などに正しく更新されないパスでなければならないような気がします。パスに追加した後に更新を強制する方法はありますか?

    おかげで、 ニール

  • 答えて

    0

    私は最終的に私は、スクリプトResetEnvironmentVariables.vbsは、それらすべてをパッケージ化するバッチファイルを作成し、VBを作成

    Is there a command to refresh environment variables from the command prompt in Windows?

    を見つけた別の質問からの助けを借りて解決策を見つけました。

    Runscriptupdates.bat 
    -------------------------- 
    cscript ResetEnvironmentVariables.vbs 
    call "%TEMP%\ResetEnvironmentVariables.bat" 
    cscript Runscriptupdates.vbs %1 %2 %3 ... %n 
    

    これにより、runscriptupdatesはlibmcl dllを見つけてもう一度作業を開始できます。うわー!

    0

    32ビットます。cscript.exeでそれを実行してみてください:

    > C:\Windows\SysWOW64\cscript.exe runscriptupdates.vbs 
    

    任意の違いは?

    +0

    これは32ビットのw2k3サーバマシンですので、syswow64はありません。setxコマンドでパス変数を設定しようとしていますが、私の研究に応じてスクリプトを実行するための新しいコマンドプロンプトを起動しようとしています。 – Neil

    関連する問題