2009-08-12 4 views
0

J'essaie d'ouvrir une page Web avec une application Silverlight à partir d'un fichier de commandes sur une machine Windows Server 2008.Affichage de l'application Silverlight dans le navigateur À partir du fichier de commandes sur Win2008

Si je mets cela dans le fichier batch:

start iexplore http://www.google.com 

Les spectacles page Google.

Si je mets cela dans le fichier batch (où PageTest a une application Silverlight):

start iexplore http://www.mysite.com/Configure/TestPage.html 

la page spectacles, mais avec l'icône "Télécharger Silverlight"/lien.

Si j'accède à cette page manuellement, l'application affiche.

Des idées pour contourner ce problème? J'essaie d'exécuter mes tests Silverlight (en fait en utilisant PowerShell mais les symptômes sont les mêmes et un fichier batch est plus facile à expliquer) sur une machine de construction qui est une boîte Windows Server 2008.

Modifier: Il ressemble à c'est parce que le script de traitement par lots exécute la version 64 bits de IE. Quand je lance le lien en tant qu'utilisateur, j'obtiens la version 32 bits.

Dans mon script PoweShell J'utilise ceci pour arriver à IE:

$ie = new-object -com "InternetExplorer.Application" 

-mais aussi devient la version 64 bits.

Alors vraiment, ma question est devenue comment puis-je obtenir la version 32 bits de IE via COM?

Répondre

1

Je suis tombé sur un moyen facile de contourner cela. J'ai changé appelant script à partir

 <Exec IgnoreExitCode="True" Command="powershell 
.\RunSilverlightTests.ps1 '$(DeploymentAddress)\TestPage.html'" > 

Pour

 <Exec IgnoreExitCode="True" Command="%windir%\SysWoW64\cmd.exe /C 
powershell "& '.\RunSilverlightTests.ps1' 
'$(DeploymentAddress)/TestPage.html'"" > 

Cette exécute le script dans le WOW (Windows sur Windows = 32 bits) version de la ligne de commande : donc PowerShell est servi automatiquement 32bit version de dlls.

Vous pouvez exécuter le fichier batch simple depuis% windir% \ SysWoW64 \ cmd.exe et cela fonctionne également.

A pris 3 jours, mais je suis arrivé là :)

Vive

Mark

Questions connexes