Mark Levison

Musings on No Touch Deployment, .NET development and photography

<August 2008>
SuMoTuWeThFrSa
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456


Navigation

Other

Blogroll

Subscriptions

Post Categories



Thursday, March 04, 2004 - Posts

Missing pieces in the .NET Framework
Missing pieces. There are many missing pieces from the .NET framework. For instance, there is no command line parser. So if you build a serious application, you have to roll your own. Why? Why could they've included these little niceties so I could focus on writing business code? The missing parser means there is no standard format for arguments, so my clients must hope that I've studied enough other apps - to obey the unspoked standards. Annonying.

posted Thursday, March 04, 2004 1:33 PM by mlevison with 1 Comments

Smart Client Readiness Program
Smart Client Readiness ProgramSmart Client Readiness Program, a little late, but it looks like MS is finally starting promote Smart Clients on .NET. Hopefully this means that they recognize that not all developers do ASP .NET work and will spend some effort improve the Smart Client development experience.

posted Thursday, March 04, 2004 8:46 AM by mlevison with 0 Comments

Jon Udell's interview with MS David Treadwell
Jon has a short interview with David Treadwell interview
Jon ask's "Why wasn’t No-Touch Deployment more successful, and how will ClickOnce correct that?" Treadwell: No-Touch Deployment was shaky. It didn’t have the infrastructure to do auto-updates. You want to be able to install in a low-impact manner without changing the machine configuration. And when you’re cached on the machine, you want to check for updates and refresh that cache automatically. The infrastructure wasn’t quite there yet; ClickOnce, in Whidbey, will be better.

Its funny, I think David misses much of the point. The caching features of No-Touch Deployment (NTD) work well enough. Click Once will be useful, but there are many other issues dealing with NTD apps. My impression is that MS didn't dog-food enough NTD.

I think there are a few key areas that need work:

  1. When the smart client is launched from a web page and you have a config file, then you can't have CGI style command line arguments (app.exe?param:value). Because IE will ask for app.exe?param:value.config instead or app.exe.config. Chris Sells proposes a solution Launching No-Touch Deployment Applications with Command Line Argument that requires server side code to resolve "app.exe?param:value.config" back down to app.exe.config. Unfortunately, that doesn't work if you can't install code on customer's server. Nor is it appealing to have to write 3 versions of this solution, ASP.NET, ASP and Perl/Python to support Apache
  2. Lack of documentation and tutorials. We need two tutorials:
    a) A complete tutorial that shows a multiple assembly application, being deployed as an embedded application (via an OBJECT tag) aka a follow-up to the Windows Forms Tutorial

    b) Another tutorial detailing a multiple assembly application, being deployed as a rich client using no-touch install aka a follow-up to Chris Sells NET Zero Deployment Security and Versioning Models in the Windows Forms Engine Help You Create and Deploy Smart Clients.

       Both tutorials should demonstrate:
       - strongly naming all assemblies
       - use of cab files
       - use of config files as required
       - use of features that require permissions
       - how to assert permissions and what will happen if we try to use dll with
       minimum permission requirements
       - how to debug when the application/control fails to load.
       - fuslogvw
       - IIS logs
       - other facilities when these don't cover everything
       - warnings about interactions with ASP .NET (i.e. config files not being    downloaded)
       - describe the warts/pitfalls the author finds in implementing this
    In addition the winforms tutorial should cover:
    - sharing data between two components on the same page
  3. A deployment newsgroup on microsoft.public
  4. Cab files supported as first class components. So that the fusion.dll looks for them and they can contain multiple assemblies. (This is the main reason we needed a config file)

If you want to see a no touch deployment application in action, see my posting: First Commercial .NET No Touch Deployment application

posted Thursday, March 04, 2004 7:27 AM by mlevison with 1 Comments




Powered by Dot Net Junkies, by Telligent Systems