Open question to the forum

Add-in Express™ Support Service
That's what is more important than anything else

Open question to the forum
Choosing between .Net 1,1 and .Net 2.0 
Mike M.




Posts: 31
Joined: 2006-11-13
Hi forum

I am planning to create an Outlook Add-in that I will sell on the internet as a shareware appliation. It will be based on ADX for .Net. Would it be best to base my Add-in on .Net 1.1 or .Net 2.0 ?

From a developer point of view I naturally would prefer .Net 2.0, but from a marketing point of view, potential customers may be lost if I use .Net 2.0 because they do not want to install .Net 2.0, or are allowed to do so by their IT department.

What do you think - how big an issue is this?

Posted 31 Jan, 2007 18:02:59 Top
Robert Schneider




Posts: 7
Joined: 2006-08-01
I would think that 2.0 is already installed if not then it is part of the IT departments approval to install the add-in. What IT department wouldn't allow the install of the 2.0 framework? I would also wonder why 1.1 is even an option since 3.0 is out. I would think the bigger question would be how much do you want your add-in to be compatable with office 2007. Also I think the question should it be 2.0 or 3.0.
Posted 31 Jan, 2007 19:58:12 Top
Esteban Astudillo


Guest


Hi Mike, my two cents.

If you must use .Net COM add-ins I'd recommend developing two versions and prepare an installer that detects the .Net version available at the user's computer and install that one or ask the user to choose one or the other if both are available. Or create your own special shim DLL and dynamically load either one using reflection.

If you cannot afford this (like me) I'd choose .Net 2.0. Just like you, I also thought that my add-in would be more compatible if I developed it using .Net 1.1. I did that and to my surprise I got more problems than I expected.

In the case that a user (or his/her IT department) had previously installed the other .Net version (different than the one I had selected), I found that it was easier to ask them to upgrade to 2.0 than to downgrade to 1.1. In fact, nobody wanted to go back to 1.1 once they already were in 2.0.

I ended up migrating my add-in to .Net 2.0 framework and that's what I currently have.

Finally, I've had so many issues with the .Net Framework that if you can try to avoid using it at all. Outlooks takes a long time to load the framework when starting; all these compatibility problems; increased deployment needs, and the list goes on an on. And on top of that if your users had previously installed another .Net COM add-in in Outlook with the "wrong" version of the .Net framework you are in big problems because you must force them to choose between your add-in or the other one.

I love C# and the .Net Framework, but it is just not true that the framework will be there available for you and you just need to focus on your code (Microsoft's promise). You still need to complete configuring the user's computer with all these dependencies (just like any other software) and you have to choose one or the other framework and now that .Net 3.0 it's coming soon who knows how many more new problems I'll find.

Anyway, I'm seriously evaluating migrating my add-in to the Delphi version of ADX in the hope that I'll avoid these issues. I'm sure I'll find other problems, but it wouldn't be fun otherwise, no? ;)

Esteban
Posted 31 Jan, 2007 20:12:25 Top
Stig .




Posts: 31
Joined: 2006-11-13
Thanks for sharing your views, although I am a bit worried about Esteban's general comments about trying to avoid using the .Net framework.

Estaban, you wrote:

"if your users had previously installed another .Net COM add-in in Outlook with the "wrong" version of the .Net framework you are in big problems because you must force them to choose between your add-in or the other one."

Why is that, is it because Outlook can only load one version of the framework?

How do you handle this situation when it happens, is it possible to detect what version of the framework was loaded..

Mike
Posted 01 Feb, 2007 01:48:15 Top
Sergey Grischenko


Add-in Express team


Posts: 7233
Joined: 2004-07-05
Hi Mike.

You can develop your add-in on .NET v1.1 and install it on PCs with .NET 2.0. It should work properly.
Posted 01 Feb, 2007 08:02:24 Top
Esteban Astudillo


Guest


Hi Sergey,

I never tried something like you suggest of developing in .Net 1.1 and deploy it on machines using .Net 2.0. However, the point here is a bit different, no?

It was in these Forums that I learned that Outlook will load only one version of the Framework, so you must develop your add-in for one or the other. And if your add-in uses areas of the Framework in 1.1 that are not compatible with 2.0, then you should be in troubles, no?

But even before that, and I haven't tried this so I'm just saying it based on limited .Net experience, isn't true that you have to add static references to .Net 1.1 or 2.0 in your Visual Studio project, which will make it not possible to load the latest version like you suggest? It seems to me that Framework 2.0 is more like a different product than an actual upgraded version of the .Net Framework. I may be totally wrong here.

In the end, this is just my interpretation of how .Net works. Hopefully I'm wrong and now I have another alternative available, so thank you. Until then, I stand behind what I said and I'm still evaluating an escape route out of the .Net world.

PS: Mike, don't take my frustrations with .Net too seriously. Every application is different and there are other reasons why is convenient for me to go with a solution like ADX for Delphi, for example.

Esteban
Posted 02 Feb, 2007 13:16:12 Top
Sergey Grischenko


Add-in Express team


Posts: 7233
Joined: 2004-07-05
Esteban, most of classes in .NET v1.1 are compatible with .NET v2.0.
The 'Add-in Express' product is based on .NET classes that are compatible in both versions of the .NET Framework. The host application will always load the latest version of the .NET Framework installed on the PC regardless whether the add-in is written for .NET v1.1 or v2.0. However you can force the host application to load another version. It can be done via the configuration file.
Please read the following article about the breaking changes in .NET 2.0:
http://msdn2.microsoft.com/en-us/netframework/aa570326.aspx
Posted 04 Feb, 2007 19:17:29 Top