Bonjour à tous,
J'essaie depuis quelques jours de déboguer une application.

Cette application est une page en HTML qui fait appel a des fonctions JavaScript et VBScript. Cette page HTML est automatiquement affiché dans IE7 au démarrage de la machine (on ne doit pouvoir que utiliser cette page HTML et rien d'autre).

Lorsqu'à la fin de ma page HTML je clique sur le bouton imprimer qui fait appel à la fonction JavaScript imprimer() parfois tout se déroule très bien, mais parfois une erreur 70: permission denied se déclenche.

Cette erreur se produit de temps en temps de façon aléatoire, les conditions sont toujours différentes. Ce qui est étonnant, c'est que nous sommes loger en administrateur sur la machine et qu'on a pratiquement tous les droits, sauf ceux qu'on a retiré (dans les stratégies de groupe) pour "brider" la machine afin de ne pouvoir utiliser que l'application et imprimer le résultat, mais rien faire d'autre sur ce poste.

Voici la fonction imprimer en JavaScript:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
function imprimer() {
	//mon code
		window.print() ;
	}
Tout a la fin de mon code HTML, j'utilise du VBScript afin d'imprimer directement le résultat lorsque j'appuie sur le bouton imprimer de ma page HTML, sans passer par la prévisualisation ni le choix de l'imprimante.
Voici le code VBScript utilisé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<script  type="text/vbscript" language="VBScript"> 
			// <![CDATA[
				sub window_onunload 
					 on error resume next 
					 set WB = nothing 
					 on error goto 0 
				end sub 
 
				sub print 
					 OLECMDID_PRINT = 6 
					 OLECMDEXECOPT_DONTPROMPTUSER = 2 
					 OLECMDEXECOPT_PROMPTUSER = 1 
					 on error resume next 
 
					 if DA then 
						' call WB.ExecWB(7, OLECMDEXECOPT_DONTPROMPTUSER,1) 
						call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1) 
					 else 
						  call WB.IOleCommandTarget.Exec(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER,"","","") 
					 end if 
 
					 if err.number <> 0 then 
						  if DA then 
							   alert "Erreur :" & err.number & " : " & err.description 
						  else 
							   handle_error 
						  end if 
					 end if 
					 on error goto 0 
				end sub 
 
				if DA then 
					 wbvers="8856F961-340A-11D0-A96B-00C04FD705A2" 
				else 
					 wbvers="EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B" 
				end if 
 
				document.write "<OBJECT ID=""WB"" WIDTH=0 HEIGHT=0 CLASSID=""CLSID:" 
				document.write wbvers & """> </OBJECT>" 
		// ]]>
	</script>
Ma question est pourquoi cette erreur 70:permission denied se produit? Et pourquoi se produit-elle que quelques fois seulement et pas tout le temps?

J'ai déjà essayé de regarder dans les outils d'administration "l'observateur d'événements" au niveau de la sécurité, du système, de l'application et d'internet explorer, rien de particulier ne se produit lorsque ce bug se produit.

J'ai également essayé d'accélérer l'apparition du bug en mettant la fonction imprimer() dans une boucle, mais malgré le fait d'imprimer des centaines de fois (en ayant enlever le papier de l'imprimante), rien ne se produit, même en mettant une pause lors de la boucle.

J'ai déjà regardé au niveau de l'imprimante, nous avons tous les droits pour imprimer à n'importe quel moment.

Merci d'avance pour votre aide.