2012-04-10 6 views
1

Je suis un bon moment pour faire fonctionner un installateur sage hérité. Vers la fin du processus, le programme d'installation exécute un script vb et les étapes suivantes se produisentVBscript ne parvient pas à trouver dll

  1. cscript - exécute le fichier vbs appelé runscriptupdates.
  2. Runscriptupdates.vbs - appelle une dll COM nommé Remote.dll
  3. Remote.dll - appelle une autre dll appelée libmcl.dll
  4. Un message d'erreur est pompée

n'a pas réussi à insérer xyz .csv erreur 53 fichier introuvable: libmcl-2.7.0.dll, ligne 0, file = C: \ DATA \ CLIENT \ XYZ.csv

la conclusion est que le cscript/vbs/remote.dll ne trouve pas libmcl-2.7.0.dll. Je peux reproduire le même comportement de l'installateur en exécutant le script manuellement et voici ce que j'ai essayé jusqu'ici mais je reçois toujours le même message d'échec.

  1. Copié libmcl dans le répertoire des cscript
  2. Copié libmcl dans le répertoire des remote.dll
  3. Copié libmcl dans le répertoire des runscriptupdates.vbs
  4. je me suis tourné sur les journaux de fusion pour voir si cela avait des pointeurs mais parce qu'il est .NET pas il n'y a rien d'utilisation
  5. essayé d'enregistrer libmcl avec regsrv mais il ne peut pas

en ce moment, si je Vérifiez le chemin depuis une invite de commande le dossier contenant libmcl n'est pas dans le chemin. Cependant, si je le vérifie à travers myComputer-> Advanced-> EnvironmentVariables le dossier est dans le chemin.

Si je redémarre l'ordinateur après la tentative d'installation et réexécute le programme d'installation, cela ne pose aucun problème. Je me sens comme il doit être le chemin d'être mis à jour correctement au moment de l'installation ou quelque chose comme ça. Est-il possible de forcer une mise à jour après avoir ajouté un chemin au chemin?

Merci, Neil

Répondre

0

Essayez de l'exécuter avec le 32bit cscript.exe:

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

Toute différence?

+0

C'est un serveur 32 bits w2k3 donc pas syswow64, j'essaie maintenant de définir la variable path avec la commande setx et ensuite lancer une nouvelle invite de commande pour exécuter le script dans lequel, selon mes recherches peuvent fonctionner. – Neil

Questions connexes