Bonjour,
J'ai une application distribuée écrite C# 2.0, elle se compose d'un service windows qui tourne sur un server, il reçoit des jobs à exécuter et les envoies à des services windows (d'exécution) qui tournent sur des machine de calcul (avec les droits admin)
Le job en question est une classe C# serialisable qui lance Process.Start() avec un .bat en paramètre, le batch est tout simplement la commande
"csript file.vbs [arguments]"
Le fichier vbs exécute grosso-modo les lignes suivantes :
Sur une machine windows 7 (x64) il n'y a aucun pb à exécuter le batch directement, cependant, quand il est lancé via l'appli (ç-à-d par le service windows d'exécution). On a l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Set xlobj = WScript.CreateObject("Excel.Application") Set workbooks = xlobj.WorkBooks Set objWorkbook = workbooks .Open(excelFile,updateLinks,readonly) Set InputSheet = objWorkbook.Sheets(InputSheetName) //… Set some variables values in a InputSheet Xlobj.Calculate() Set outputSheet = objWorkbook.Sheets(outputSheetName) outPutSheet.saveAs outputFileNameFull, 6 //as .cvs file.
Error (1004) description : Impossible de lire la propriété Open de la classe Workbooks.
Une version C# du VBS s'exécute elle aussi sans soucis directement sur la machine mais plante via l'appli avec l'erreur :
Exception de HRESULT : 0x800A03EC
Par ailleurs, tout se passe bien sur une grille de machines XP SP2 à l'exception d'une seule qui présente les même symptômes que la "Windows 7"
Est-ce un problème de droits sur le poste Windows 7 ? un problème d'activation des objets COM ?...
Merci d'avance pour votre aide.
Partager