Nasty No-touch Deployment Problems

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Dear Al

I’d be grateful for any suggestions as to how I might solve some nasty problems I’m having with no-touch deployment (NTD) of WinForms applications.

The problems are on two more-or-less identical production Windows Server 2003 machines that have recently undergone lots of changes – mainly centred around the installation of Macromedia’s JRun 4 and ColdFusion MX products to support a third-party application my organisation has bought

The first problem is that following these changes, my WinForms apps that have previously worked fine using NTD now cause a File Download dialogue box to appear on the client PC rather than the application main form. To get the application to appear users have to pretend to save the EXE (by clicking on Save then clicking on Cancel when the Save As dialogue appears) after which calling the URL again results in the application main form being displayed - but only for that session. (On a test server that has not been subjected to all the changes the application behaves as expected with NTD.

The second problem is that I now want to deploy an application that uses a custom DLL. This application works fine on a test server, but when I move it to one of the production machines with an identical setup as far as the virtual directory is concerned the .NET Framework throws a System.IO.FileNotFoundException, saying that “File or assembly name MyCustomDLL, or one of its dependencies, was not found.â€

It would seem that the configuration changes to the production servers are the cause of the problems, but I'm at a loss as to how I might track down the specific change. I’ve tried uninstalling and reinstalling ASP.NET with aspnet_regiis but still no joy. My next thought was to uninstall and reinstall the .NET Framework, but of course it’s built-in to WS 2003 and the only way to repair seems to be an in-place upgrade which I don’t want to have to do on production servers. I’m pulling my hair out on this one so all suggestions as to what further investigations I might conduct gratefully received

Thanks very much - Graham
 
I read this to mean that:
- you had a windows 2003 server box that was sucessfully serving up href
exe's from a virtual directory
- you installed software from Macromedia on the server
- the client was untouched.
- the client can't download and run the href exe

Stop me if something is wrong in translation.

As to the first issue, use YATT or another trace tool to examine the
conversation between the client and the server. It could be that installing
JRun4 has somehow hosed up the way that exe's are passed down to the client
so that IE doesn't see them as .NET exes. You can get YATT (and you'll need
pcap, too) here:

http://www.pocketsoap.com/yatt/

What is the contents of your download cache? (this is mostly for the second
issue you mentioned)

Other things that can cause hiccups: Are you passing command-line
parameters, or doing something else unusual? Do your assemblies have strong
names?

--
Mickey Williams
Author, "Microsoft Visual C# .NET Core Reference", MS Press
www.servergeek.com



Graham said:
Dear All

I'd be grateful for any suggestions as to how I might solve some nasty
problems I'm having with no-touch deployment (NTD) of WinForms applications.
The problems are on two more-or-less identical production Windows Server
2003 machines that have recently undergone lots of changes - mainly centred
around the installation of Macromedia's JRun 4 and ColdFusion MX products to
support a third-party application my organisation has bought.
The first problem is that following these changes, my WinForms apps that
have previously worked fine using NTD now cause a File Download dialogue box
to appear on the client PC rather than the application main form. To get the
application to appear users have to pretend to save the EXE (by clicking on
Save then clicking on Cancel when the Save As dialogue appears) after which
calling the URL again results in the application main form being displayed -
but only for that session. (On a test server that has not been subjected to
all the changes the application behaves as expected with NTD.)
The second problem is that I now want to deploy an application that uses a
custom DLL. This application works fine on a test server, but when I move it
to one of the production machines with an identical setup as far as the
virtual directory is concerned the .NET Framework throws a
System.IO.FileNotFoundException, saying that "File or assembly name
MyCustomDLL, or one of its dependencies, was not found."
It would seem that the configuration changes to the production servers are
the cause of the problems, but I'm at a loss as to how I might track down
the specific change. I've tried uninstalling and reinstalling ASP.NET with
aspnet_regiis but still no joy. My next thought was to uninstall and
reinstall the .NET Framework, but of course it's built-in to WS 2003 and the
only way to repair seems to be an in-place upgrade which I don't want to
have to do on production servers. I'm pulling my hair out on this one so all
suggestions as to what further investigations I might conduct gratefully
received!
 
Hi Micke

Thanky very much for your reply. I followed your sugestion of using YATT and HURRAH! - it eventually led me to the problem. To cut a long story short, as part of the install of Macromedia apps we'd also configured our production servers to use HTTP compresion (as per http://www.dotnetjunkies.com/HowTo/16267D49-4C6E-4063-AB12-853761D31E66.dcik), which includes EXEs and DLLs in the default configuration. On comparing the responses from the test server and the production server I noticed that the production server was returning a "Content-Encoding: gzip" line, and the lightbulb was suddenly on! Removing HTTP compression restored NTD to full working order. Since HTTP compression can be configured for individual file extensions there should be no need to remove it completely - excluding EXEs and DLLs in metabase.xml should be sufficient

Thanks once again Mickey - I'm very grateful for your help

Cheers - Graha


----- Mickey Williams wrote: ----

I read this to mean that
- you had a windows 2003 server box that was sucessfully serving up hre
exe's from a virtual director
- you installed software from Macromedia on the serve
- the client was untouched
- the client can't download and run the href ex

Stop me if something is wrong in translation

As to the first issue, use YATT or another trace tool to examine th
conversation between the client and the server. It could be that installin
JRun4 has somehow hosed up the way that exe's are passed down to the clien
so that IE doesn't see them as .NET exes. You can get YATT (and you'll nee
pcap, too) here

http://www.pocketsoap.com/yatt

What is the contents of your download cache? (this is mostly for the secon
issue you mentioned

Other things that can cause hiccups: Are you passing command-lin
parameters, or doing something else unusual? Do your assemblies have stron
names

--
Mickey William
Author, "Microsoft Visual C# .NET Core Reference", MS Pres
www.servergeek.co



Graham said:
2003 machines that have recently undergone lots of changes - mainly centre
around the installation of Macromedia's JRun 4 and ColdFusion MX products t
support a third-party application my organisation has boughthave previously worked fine using NTD now cause a File Download dialogue bo
to appear on the client PC rather than the application main form. To get th
application to appear users have to pretend to save the EXE (by clicking o
Save then clicking on Cancel when the Save As dialogue appears) after whic
calling the URL again results in the application main form being displayed
but only for that session. (On a test server that has not been subjected t
all the changes the application behaves as expected with NTD.custom DLL. This application works fine on a test server, but when I move i
to one of the production machines with an identical setup as far as th
virtual directory is concerned the .NET Framework throws
System.IO.FileNotFoundException, saying that "File or assembly nam
MyCustomDLL, or one of its dependencies, was not found.the cause of the problems, but I'm at a loss as to how I might track dow
the specific change. I've tried uninstalling and reinstalling ASP.NET wit
aspnet_regiis but still no joy. My next thought was to uninstall and
reinstall the .NET Framework, but of course it's built-in to WS 2003 and the
only way to repair seems to be an in-place upgrade which I don't want to
have to do on production servers. I'm pulling my hair out on this one so all
suggestions as to what further investigations I might conduct gratefully
received!
 
Back
Top