Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Visual Studio 2005 not listing ASP.NET 1.1 Pre-req
posaune
#1 Posted : Wednesday, July 19, 2006 11:57:28 AM(UTC)
Groups: Member
Joined: 7/19/2006(UTC)
Posts: 5
Location: Canton, OH

Hello,

I've downloaded and installed (on 7/19) the 2.0 version of UltiDev Cassini. However, when trying to package Cassini in our setup installer, ASP.NET 1.1 is not listed as an available pre-req in Visual Studio 2005. I've tried installing version 1.0 as well in all manner of possible methods (1.0 before 2.0; 2.0 before 1.0; 1.0 only; and 2.0 only). Still no 1.1 pre-req option. On a related topic, when registering an application during installation, I haven't seen a switch with which to target a particular framework as is available using the Cassini Explorer Registration web app. Is this supposed to be handled by setting 1.1 as the setup pre-req or does the targeted framework have to be set via some undocumented switch?

Targeted environment for deployed application is:
.NET Framework 2.0 (required by Windows Forms app)
.NET Framework 1.1 (required by web app to be run on Cassini) - has been proven to not work with .NET 2.0

Additionally, I would like to commend your work on this project as well as the promptness of your replies (as seen in the forum).

Thanks
Ultidev Team
#2 Posted : Wednesday, July 19, 2006 1:03:40 PM(UTC)
Ultidev Team

Groups: Administration
Joined: 11/3/2005(UTC)
Posts: 2,253

Thanks: 28 times
Was thanked: 60 time(s) in 59 post(s)
Hello, Posaunne!

Thank you for the positive feedback on our Cassini. It means a lot to us.

We have to admit that we haven't seriously considered the use case where Cassini 1.1 components would be distributed by a setup package made in Visual Studio 2005. If you saw Cassini 1.1 prerequisite on some of our screenshots, we apologize for the confusion: Cassini 1.1 prerequisite was an internal experiment with the prerequisite technology and did not make into the final product. We thought that Cassini 1.1 will be disitributed predominantly by packages made in Visual Studio .NET 2003 - where there is no concept of prerequisites, and therefore we decided that there was no need for Cassini 1.1 prerequisite in Visual Studio 2005. Also, some of our screenshots show ".NET Framework 1.1" prerequisite among others. That too is something we made for internal use, and never released to general public as something we thought is not very useful and potentially violating MS license agreement - for some inexplicable reason they don't like installers automatically downloading .NET Framework 1.1 from their web site.

We would like to provide you some workaround options though. With Framework 1.1 iteself it is technically not so hard for us because we do have (an unreleased) product that creates ".NET Framework 1.1 prerequisite", but from the legal standpoint it may be a problem. It may not be completely unreasonable to make presence of .NET Framework 1.1 a software requirement for your product because most of Windows PCs already have it. With making Cassini 1.1 a prerequisite the million dollar question is whether you are going to make the bootstrapper download prerequisite components from the web or from a CD. If it's CD then we could make a prerequisite manifest for you and provide instructions on how to make a Cassini 1.1 Prerequisite manually. But if you need to distribute your package over the web then on top of it we would have to host Cassini 1.1 components on our internet servers and make it available for the lifetime of your application, which is quite a tall order. Please let us know about how you intend to distribute your application: on internet or on CD, and we'll do our best to help you with your case. Outside of that the only other option would be to make two separate setup packages: one for ASP.NET application, and another and for 2.0 WinForms app, and have a BAT script that will kick them off one after another.

To answer your other questions, during programmatic registration of ASP.NET application with Cassini target framework version is determined by the runtime version the regisration routine is running under. This means that when registration API finds itself running inside 1.1 Framework - it registers 1.1 as a target platform. The same goes for 2.0.

All the best wishes,
UltiDev Team.
Please donate at http://www.ultidev.com/products/Donate.aspx to help us improve our products.
posaune
#3 Posted : Thursday, July 20, 2006 3:19:17 AM(UTC)
Groups: Member
Joined: 7/19/2006(UTC)
Posts: 5
Location: Canton, OH

Well that's good news and bad news, I suppose. Good news is that we will be shipping via CD (SMS actually, but the installer will be made for CD). It would be great if I could get those instructions.

As far as the other question, that's a bit of bad news. In order to target 1.1, we'll simply have to be sure the registration API is running under 1.1. Problem is, I have no idea how to do that. Can it be set in some config file somewhere or...?

Thanks
Ultidev Team
#4 Posted : Thursday, July 20, 2006 6:19:37 AM(UTC)
Ultidev Team

Groups: Administration
Joined: 11/3/2005(UTC)
Posts: 2,253

Thanks: 28 times
Was thanked: 60 time(s) in 59 post(s)
Hi there!

Actually, it's a good news and good news. The issue with uncertain target Framework version can be resolved relatively easily. If worse comes to worst, you can always fall back on the Cassini Configuration API, which resides in the "c:\Program Files\UltiDev\Cassini Web Server for ASP.NET 1.1\UltiDevCassiniServerConfiguration.dll" and lets you force any given framework version setting down Cassini's throat.

You could do that in additional custom build step right after the application registration. To create the custom action you would need to add a reference to UltiDevCassiniServerConfiguration.dll and add an Installer class to any of the non-web application projects in the solution (or add a new class library project), override Install method and put something like this in it:
Code:
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);

Guid myAppID = new Guid("<you application GUID goes here>");

CassiniConfiguration.Metabase metabase = CassiniConfiguration.Metabase.Load();

CassiniConfiguration.ApplicationEntry myAppSettings = metabase.FindApplication(myAppID);
myAppSettings.FrameworkVersion = "1.1";

metabase.Save();
}

Then add the project where your Installer class resides as a custom action step in the Install sequence and you are all set.

However, before you do all this please make sure that you really have to. The thing is, if you use UltiDevCassiniServerConfiguration.dll from the Cassini 1.1 set for the registration and unregistration steps as they described in the Cassini Developer's Guide, there is a chance MS Installer will run it inside the Framework 1.1. We are not sure what determines which version of the Framework gets instantiated by the MS Installer. It could be version of CLR the UltiDevCassiniServerConfiguration.dll was built for, which would be great if it is becasue none of the custom programming described above would be required. But the version of CLR may also be detemined by the version of Visua Studio used to build a setup package. If so, the stuff described easlier in this post will be required.

Since regular application registration step will be required anyway, please just strat with the standard registration routine as described in the Cassini Developer's Guide. If you check the Cassini Explorer after the installation and see that your app is registered for CLR 2.0, then prceed to adding (or replacing altogether the standard registration) with the extra installation step that will adjust target CLR version.

Regarding the instructions on how to create a Visual Studio 2005 prerequisite for UltiDev Cassini 1.1, we'll pu it in the next post as we need a little bit of time to put it together.

Regards,
UltiDev Team.
Please donate at http://www.ultidev.com/products/Donate.aspx to help us improve our products.
Ultidev Team
#5 Posted : Thursday, July 20, 2006 10:03:46 AM(UTC)
Ultidev Team

Groups: Administration
Joined: 11/3/2005(UTC)
Posts: 2,253

Thanks: 28 times
Was thanked: 60 time(s) in 59 post(s)
Hi, Posaune!

We have created a Cassini 1.1 VS 2005 Prerequisite package for you. Please contact us via email and we will respond with the file attachement and instructions on how to use it.

Best regards,
UltiDev Team.
Please donate at http://www.ultidev.com/products/Donate.aspx to help us improve our products.
Rss Feed  Atom Feed
Users browsing this topic
Guest (3)
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You can vote in polls in this forum.