2012-04-10 2 views
1

У меня есть чертовски время, чтобы унаследовать мудрый установщик для работы. В конце процесса установщик запускает скрипт vb и выполняются следующие шаги:VBscript не находит dll

  1. cscript - запускает файл vbs под названием runcriptupdates.
  2. Runscriptupdates.vbs - называет COM DLL с именем Remote.dll
  3. Remote.dll - вызывает другую DLL под названием libmcl.dll
  4. сообщение об ошибке откачивается

не смог вставить хуг .csv ошибка 53 файл не найден: libmcl-2.7.0.dll, линия 0, файл = C: \ DATA \ CLIENT \ xyz.csv

Поэтому вывод о том, что Cscript/VBS/remote.dll не удалось найти libmcl-2.7.0.dll. Я могу воспроизвести одно и то же поведение установщика, запустив скрипт вручную, и вот что я пробовал до сих пор, но я все еще получаю такое же сообщение об ошибке.

  1. Скопировано libmcl в каталог Cscript
  2. скопирован libmcl в каталог remote.dll
  3. скопированного libmcl в каталог runscriptupdates.vbs
  4. Я включил журналы фьюжн, чтобы убедиться, что какие-либо указатели, но потому что это не .NET нет ничего использования
  5. пытался зарегистрировать libmcl с regsrv, но он не может

в этот момент, если я проверьте путь из командной строки, если папка с libmcl не находится в пути. Однако, если я проверю его через myComputer-> Advanced-> EnvironmentVariables, папка находится в пути.

Если я перезагрузил машину после попытки установки, а затем снова запустил программу установки, это не проблема. Я чувствую, что это должен быть путь, который не обновляется должным образом во время установки или что-то в этом роде. Есть ли способ заставить обновление после добавления к пути?

Спасибо, Нил

ответ

0

я наконец-то нашел решение с помощью другого вопроса я нашел

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

Я создал VB Script ResetEnvironmentVariables.vbs затем создал пакетный файл, чтобы упаковать их все.

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

Таким образом, это позволило runcriptupdates найти библиотеку libmcl и начать работать снова! гмм!

0

Попробуйте запустить его с 32-битным cscript.exe:

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

Любая разница?

+0

Это 32-разрядная серверная машина w2k3, поэтому нет syswow64, теперь я пытаюсь установить переменную path с помощью команды setx, а затем запустить новую командную строку для запуска скрипта, в котором, согласно моим исследованиям, может работать. – Neil

Смежные вопросы