Solved

Deploy dotNET/C# EXE or DLL Via Web Application

Posted on 2004-04-15
9
500 Views
Last Modified: 2011-10-03
I have heard that there is a way to deploy EXE/DLLs via a Web application using the dotnet Framework.
Basically, I want to write an application that is available at http://server/MyApplication.exe which clients can access and it will run locally with whatever permissions the user has.  This is very similar to Active-X controls, but I have heard that there is a much easier way to do it then Active-X controls.

Someone mentioned creating a "Windows Control Library" and then accessing that directly, I made a dummy one, but couldn't get it to work.  I know that in dotnet 2.0, there is something called "Click Once" and I am not sure how that fits in.

So, how can I write an application that can be accessed via a URL and run locally on the machine.
Ideally, it would know if there was a previous install and whether it was newer version or not.

Thanks!
0
Comment
Question by:winterminute
  • 5
  • 2
9 Comments
 
LVL 5

Expert Comment

by:AdrianJMartin
Comment Utility
The best and most complete example of web deployment ( dotnet exes ) I've every seen is Chris Sells Wahoo. It also has full source availability and security discussions. He covers the subject in Chapter 15 of his book "Windows Forms Programming in C#"

http://www.sellsbrothers.com/wahoo/
0
 
LVL 2

Author Comment

by:winterminute
Comment Utility
Well, that's pretty much what I was looking for, but understanding it is another question.  It looks like he is using a Windows Control.  Is there a much simplier version available?  i.e. Hello World app that uses this technology?
0
 
LVL 2

Author Comment

by:winterminute
Comment Utility
I just came across this which might prove useful, written by Chris Sells who now works at Microsoft:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnforms/html/winforms05152003.asp
0
 
LVL 2

Author Comment

by:winterminute
Comment Utility
And here is a walk-thru of Wahoo by Chris sells
http://msdn.microsoft.com/msdnmag/issues/02/07/NetSmartClients/
0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
LVL 2

Author Comment

by:winterminute
Comment Utility
I got this working, but I can't get the automatic versioning.
I can succesfully run the application over the intranet, but when I make changes and rebuild, the client loads the old version.  I have to clear the IE cache to get it to load the new version.  I read somewhere that if you don't sign your assemblies then you lose the automatic versioning, so I went ahead and did that.

Any ideas?
0
 
LVL 5

Expert Comment

by:AdrianJMartin
Comment Utility
I havent signed my assemblies and they download fine, even dependant assemblies....( you are copying them to the server?)

One of the controlling influences of wether a dll is downloaded is the modification date of the file, this is a http thing if the date is different to the clients cached copy then it will get downloaded.

btw the assembly will be copied to a special location in the the GAC to list installed downloaded assemblies you have to use the gacutil cmd line with -ldl option ie "gacutil -ldl" see gacutil /? for the switches to clear it.

I don't have my trusty "Windows Forms programming with C#" to hand at the minute but I'm sure the details are in there.......
0
 
LVL 2

Author Comment

by:winterminute
Comment Utility
Actually, it gets copied to the Temp Internet Files directory.  You can see it there with your cookies, etc.  It might also do something wih the GAC but I know that deleting it from the temp files will force the re-download.

I found out why it wasn't updating, err...rather, I fixed it, but I don't know why or how.  Basically, I created a new Virtual Directory and it started working.  Both VDs appeared identical, but not sure what the difference was.
0
 

Accepted Solution

by:
ee_ai_construct earned 0 total points
Comment Utility
PAQed, with points refunded (125)
ee_ai_construct - CS Mod
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now