views:

55

answers:

1

I am trying to open a web page with a Silverlight App from a batch file on a Windows Server 2008 box.

If I put this in the batch file:

start iexplore http://www.google.com

The google page shows.

If I put this in the batch file (where TestPage has a Silverlight Application):

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

the page shows but with the "Download Silverlight" icon/link.

If I browse to that page manually the app shows.

Any ideas on how to get around this?

I am trying to run my Silverlight tests (actually using PowerShell but the symptoms are the same and a batch file is easier to explain) on a our build machine which is a Windows Server 2008 box.

Edit: It looks like this is because the batch script is running the 64bit version of IE. When I launch the link as a user I get the 32bit version.

In my PoweShell script I am using this to get to IE:

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

-but it too is getting the 64 bit version.

So really, my question has become how do I get to the 32 bit version of IE via COM?

+1  A: 

I stumbled upon an easy way around this. I changed my calling script from

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

To

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

This runs the script in the WOW (Windows on Windows = 32bit) version of the command line: therefore PowerShell is automatically served 32bit version of dlls.

You can run the simple batch file aboce from %windir%\SysWoW64\cmd.exe and it works too.

Took 3 days, but I got there :)

Cheers

Mark

Mark

related questions