Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 514
  • Last Modified:

Deploy dotNET/C# EXE or DLL Via Web Application

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
winterminute
Asked:
winterminute
  • 5
  • 2
1 Solution
 
AdrianJMartinCommented:
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
 
winterminuteAuthor Commented:
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
 
winterminuteAuthor Commented:
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
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
winterminuteAuthor Commented:
And here is a walk-thru of Wahoo by Chris sells
http://msdn.microsoft.com/msdnmag/issues/02/07/NetSmartClients/
0
 
winterminuteAuthor Commented:
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
 
AdrianJMartinCommented:
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
 
winterminuteAuthor Commented:
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
 
ee_ai_constructCommented:
PAQed, with points refunded (125)
ee_ai_construct - CS Mod
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 5
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now