Fog Creek Software
Discussion Board

Our experience distributing our first .NET app

Hi All,

With the recent discussion of the runtime, I thought that our experience may be of interest. In September we launched our first .NET app. This app is used to create a specific type of document for a niche market. The new version was a thorough rewrite of the earlier VB app. We primarily used VB.NET, with some C#. We used four third-party components in the final release: ActiveReports.NET, DotNetBar, RapidSpell.NET Desktop and DynaZip NX. They all have worked flawlessly and are highly reccomended.

As to the distrubution, which is everyone's main question. We used Wise for Visual Studio.NET to create the distribution packages. We found this program to have some conflicts with a our components and thus we were unable to include an installation project right in with our VS Solution. We have six separate installations, all of which we keep as separate projects in a single VS solution. Wise is a bit unstable at times, but generally compiles correctly. In the future we'll likely use Inno, as we're not doing anything fancy with the installation and the Wise issues were just not worth the time.

We've now had somewhere around 1,000 installs and so far we have had zero support calls related to the .NET framework. It's installed by a merge module in the Wise setup, and so far hasn't been a problem for anyone. We do 98% of our distribution on CD, so the runtime size is not an issue. Those who've downloaded haven't complained either, but likely most if not all have broadband. To sum it up, the runtime has been a non-issue for us.

Things we like about .NET and VS.NET:
  - Third-party component availability
  - ADO.NET is just awesome
  - ASP.NET sites and Web Services rock
  - The IDE is the best we've used (Although Xcode & Inerface builder is pretty nice too. If Xcode had code folding and better intellisense they'd be equal in my book.)

Things we HATED about using .NET:
  - Localization (es, fr, & pt) ended up being over 60% of our development effort due to glaring problems with it's support and implementation in both the framework and VS.
  - Direct manipulation of the DEVMODE for printing to a custom printer we need to support on sucked on WinNT/2000 and sucked in a different way on Win98/ME, but XP was fine.

That's a breif report, but maybe it wil help some of those out there planning a platform selection. IF you have any specific questions, feel free to ask.


Wednesday, February 25, 2004

How are you planning to manage deployment of patches and future releases?

Wednesday, February 25, 2004

We've already released a few hotfixes and are readying a x.1 release right now. All we have had to do is to update the primary executable and the associates resource files so far. For the x.1 release we've added a feature that requires a new dll, so that's being deployed too. We're using local dll's, so nothing needs to be registered. Our update utility is written in C#, since they already have the framework, with all files compiled in as resources.


Wednesday, February 25, 2004

I will need to develop a web app soon that supports both English and French.

Do you have any suggestions for localization?


Thursday, February 26, 2004

Actually localizing the web app component of our project was much easier than the WinForms app. One gotcha that you need to know about is that if you add any custom entries into the resource file, like to pull messagebox text from, Visual Studio will overwrite them if you ever make any further changes to the UI. This included moving controls, etc. You'll have to put custom strings somewhere else.


Thursday, February 26, 2004

Dood if you can do a powerpoint after a few releases on the basic infrastructure that made it all happen. All of us would be willing to shell out a few bucks for a copy.

Li-fan Chen
Friday, February 27, 2004

*  Recent Topics

*  Fog Creek Home