Why sp1 and not .Net V1.2 ?

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

My app works fine with .Net 1.1 but will not run if sp1 is loaded. I've
traced the problem to some enums which I've now replaced with alternative
code and all is well. This service pack seems to be breaking other peoples
apps too. Was it not possible for Microsoft to release this as a new version
of the framework to run side by side with the old v1.1 at least the old .Net
apps would run ok?
 
The reason framework 1.1 sp1 is sp1 and not a new framework release ie 1.2
is simple.
For a while not framework version 2.0 has been in a pipeline. Its not wise
to do a incremental minor version release when they have already announced a
incremental major version. Plus sp 1 has a whole lot of fixes and i am not
sure sure of enchancements other than tightening the security around the
framework
So again it calls for a service pack.

--

Regards,

Hermit Dave
(http://hdave.blogspot.com)
 
You miss my point. Releasing a service pack with bugs in it breaks peoples
existing code and forces developers to upgrade applications because some of
their users will have applied the service pack and others not. We are back in
the land of dll hell. This is something that .net fusion was supposed to
fix!!!
 
With SP1 my app crashed on startup with an Access Violation. Shortly after
that the developer studio debugger would disappear too without any error
dialog. Stepping through from scratch showed the Access violation was
occuring in the DataGrid constructor called from Form::InitiliseComponent -
not even in my code. After lots of head scratching I came across KB825082
suggesting problems with flag attribute enums out of despiration I removed
the one I had in my code leaving non flag attribute enums as they where. This
solved the problem. My app is managed C++ windows forms.
For those who like code I removed code like this :-
[Serializable]
public __value enum ColumnId : unsigned long
{
colIdSubstance = (1<<0),
colIdConc = (1<<1),
colIdConcUnit = (1<<2),
colIdpH = (1<<3),
colIdUID = (1<<4),
colIdViscosity = (1<<5),
}

and replaced it with the following (which required using ColumnIdType
throughout the rest of my code) :-

typedef unsigned long ColumnIdType;

[Serializable]
public __gc class ColumnId
{
public:
static const ColumnIdType colIdSubstance = (1<<0);
static const ColumnIdType colIdConc = (1<<1);
static const ColumnIdType colIdConcUnit = (1<<2);
static const ColumnIdType colIdpH = (1<<3);
static const ColumnIdType colIdUID = (1<<4);
static const ColumnIdType colIdViscosity = (1<<5);
}
 
This is a great question. Infact we are facing a similar issue after some of
our clients updated .net framework 1.1 to SP1 in order to patch another
application. Unfortunately this broke our software. My question to microsoft
is, "Why don't u provide separate installations of 1.1 and 1.1 with sp1? or
some isolation process thereby we can run our apps on 1.1 or on 1.1 with sp1
whichever we need to."
There is one more thing u can make it easy for us. I have no way of knowing
if we installed sp1 on 1.1 at all. why not put this information in add/remove
programs?

PeteL said:
With SP1 my app crashed on startup with an Access Violation. Shortly after
that the developer studio debugger would disappear too without any error
dialog. Stepping through from scratch showed the Access violation was
occuring in the DataGrid constructor called from Form::InitiliseComponent -
not even in my code. After lots of head scratching I came across KB825082
suggesting problems with flag attribute enums out of despiration I removed
the one I had in my code leaving non flag attribute enums as they where. This
solved the problem. My app is managed C++ windows forms.
For those who like code I removed code like this :-
[Serializable]
public __value enum ColumnId : unsigned long
{
colIdSubstance = (1<<0),
colIdConc = (1<<1),
colIdConcUnit = (1<<2),
colIdpH = (1<<3),
colIdUID = (1<<4),
colIdViscosity = (1<<5),
}

and replaced it with the following (which required using ColumnIdType
throughout the rest of my code) :-

typedef unsigned long ColumnIdType;

[Serializable]
public __gc class ColumnId
{
public:
static const ColumnIdType colIdSubstance = (1<<0);
static const ColumnIdType colIdConc = (1<<1);
static const ColumnIdType colIdConcUnit = (1<<2);
static const ColumnIdType colIdpH = (1<<3);
static const ColumnIdType colIdUID = (1<<4);
static const ColumnIdType colIdViscosity = (1<<5);
}

Willy Denoyette said:
Please post the details of the enum issues you encountered.

Willy.
 
Which version of the .NET Framework do you have installed? 1.1.4322 is .NET
1.1 (not SP1).
This is a rudimentary check that can be performed in your assembly at
run-time or in your installer (MSI) as a launch condition --
MsiNetAssemblySupport.

VJ said:
This is a great question. Infact we are facing a similar issue after some of
our clients updated .net framework 1.1 to SP1 in order to patch another
application. Unfortunately this broke our software. My question to microsoft
is, "Why don't u provide separate installations of 1.1 and 1.1 with sp1? or
some isolation process thereby we can run our apps on 1.1 or on 1.1 with sp1
whichever we need to."
There is one more thing u can make it easy for us. I have no way of knowing
if we installed sp1 on 1.1 at all. why not put this information in add/remove
programs?

PeteL said:
With SP1 my app crashed on startup with an Access Violation. Shortly after
that the developer studio debugger would disappear too without any error
dialog. Stepping through from scratch showed the Access violation was
occuring in the DataGrid constructor called from Form::InitiliseComponent -
not even in my code. After lots of head scratching I came across KB825082
suggesting problems with flag attribute enums out of despiration I removed
the one I had in my code leaving non flag attribute enums as they where. This
solved the problem. My app is managed C++ windows forms.
For those who like code I removed code like this :-
[Serializable]
public __value enum ColumnId : unsigned long
{
colIdSubstance = (1<<0),
colIdConc = (1<<1),
colIdConcUnit = (1<<2),
colIdpH = (1<<3),
colIdUID = (1<<4),
colIdViscosity = (1<<5),
}

and replaced it with the following (which required using ColumnIdType
throughout the rest of my code) :-

typedef unsigned long ColumnIdType;

[Serializable]
public __gc class ColumnId
{
public:
static const ColumnIdType colIdSubstance = (1<<0);
static const ColumnIdType colIdConc = (1<<1);
static const ColumnIdType colIdConcUnit = (1<<2);
static const ColumnIdType colIdpH = (1<<3);
static const ColumnIdType colIdUID = (1<<4);
static const ColumnIdType colIdViscosity = (1<<5);
}

Willy Denoyette said:
Please post the details of the enum issues you encountered.

Willy.

My app works fine with .Net 1.1 but will not run if sp1 is loaded. I've
traced the problem to some enums which I've now replaced with alternative
code and all is well. This service pack seems to be breaking other peoples
apps too. Was it not possible for Microsoft to release this as a new
version
of the framework to run side by side with the old v1.1 at least the old
.Net
apps would run ok?
 
Back
Top