Apps no longer work with Framework 1.0 SP3

B

Bert Hyman

Our administrators did an unannounced deployment of dotNet Framework
1.0 SP3 to all our Win2K machines last week and now the product we're
developing no longer works, nor does the dotNet Framework
Configuration tool.

The machines runnning dotNet Framework 1.1 appear to be OK.

When the app is executed, it produces this exception:

"Request for the permission of type
System.DelegateSerializationHolder failed."

Trying to run the Configuration tool merely produces an error dialog

"MMC cannot open the selected file"

This is ->serious.
 
B

Bert Hyman

(e-mail address removed) (Bert Hyman) wrote in
Trying to run the Configuration tool merely produces an error dialog

"MMC cannot open the selected file"

This is ->serious.

A little more info... The new corrupt mscorcfg.msc file on my machine
is an XML file that starts out

<?xml version="1.0"?>
<MMC_ConsoleFile ConsoleVersion="2.0" ProgramMode="Author">
<ConsoleFileID>{92BF0122-2B3D-42DC-BB73-9102F9EF13E0}
</ConsoleFileID>

Does this mean anything to anybody?
 
P

Peter Huang

Hi Bert,

It seems that there is something corrupted, you may try to install the .net
framework 1.1(in the repair installation mode) to see if that works for you.

Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
 
B

Bert Hyman

(e-mail address removed) ("Peter Huang") wrote in
Hi Bert,

It seems that there is something corrupted, you may try to install
the .net framework 1.1(in the repair installation mode) to see if
that works for you.

Installing dotNet Framework 1.1 is ->not an option. We need to build
and test our application on many OS levels and both 1.0 and 1.1
Framework levels. All of our Win2K systems with Framework 1.0 are
completely out of business right now.

I downloaded the Framework 1.0 SP3 package from MSDN yesterday and
re-installed it but had exactly the same result.
 
B

Bert Hyman

(e-mail address removed) (Bert Hyman) wrote in
(e-mail address removed) ("Peter Huang") wrote in


Installing dotNet Framework 1.1 is ->not an option. We need to
build and test our application on many OS levels and both 1.0 and
1.1 Framework levels. All of our Win2K systems with Framework 1.0
are completely out of business right now.

I downloaded the Framework 1.0 SP3 package from MSDN yesterday and
re-installed it but had exactly the same result.

Following up on my own post, I believe I've found a fix to our app's
immediate problem.

When creating our BinaryServerFormatterSinkProvider, I set the
typeFilterLevel property to "Full".

We already did this when running under Framework 1.1, and apparently,
this property was retrofitted to Framework 1.0 by the SP3 update.

I guess if the update had gone through our normal qualification
process instead of being forced on us by our administrators, we'd
have known about this.

Still, the fact that the "mscorcfg.msc" file was corrupted on all
systems that received the update is ->very troubling.

And, who knows what other incompatibilities have been introduced by
this "fix" that we haven't run into yet.

Short of re-installing the Framework from scratch, there doesn't
appear to be any way to back out SP3; is that correct?
 
B

Bert Hyman

(e-mail address removed) (Bert Hyman) wrote in
I guess if the update had gone through our normal qualification
process instead of being forced on us by our administrators, we'd
have known about this.

Well, maybe not.

Looking at the long laundry list of changes in SP3, which one of
these would have told us of the changes to the properties of our
BinaryServerFormatterSinkProvider?

Further, how can we determine at runtime if our application is
running on a system with SP3 installed, since the "typeFilterLevel"
property didn't exist before?

Is this what DLL Hell is like?
 
P

Peter Huang

Hi Bert,

Thank your for detailed information.
We can installed both .net FW 1.1 and .net FW 1.0 on one machine. Also in
the app.config file we can specify which version of framework to use. If
you have tried to look into the directory below, you will find that there
are two versions of .net framework.
C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\mscorcfg.msc
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\mscorcfg.msc

So as for your scenario, there maybe a possibility that the 1.1 or 1.0 has
corrupted so I suggest you reinstall the framework. Because the
incompatibility between 1.1 and 1.0 so we can not guarantee the application
running on 1.1 will still running on 1.0.
Here is an article about Targeting a .NET Framework Version, you may take a
look.
Targeting a .NET Framework Version
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/htm
l/cpcontargetingnetframeworkversion.asp

Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
 
B

Bert Hyman

(e-mail address removed) ("Peter Huang") wrote in
If you have tried to look into the directory below, you will find
that there are two versions of .net framework.
C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\mscorcfg.msc
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\mscorcfg.msc

No.

On the Win2K systems in question, ONLY Framework 1.0 is installed.

What Knowlege Base article describes the "fix" that retrofitted the
"typeFilterLevel" property for BinaryServerFormatterSinkProvider into
Framework 1.0?

Did this happen in SP2 or SP3?
 
P

Peter Huang

Hi Bert,

As you have said, the BinaryServerFormatterSinkProvider.TypeFilterLevel
Property is supported only on .net FW 1.1.

BinaryServerFormatterSinkProvider.TypeFilterLevel Property
Note: This namespace, class, or member is supported only in version 1.1 of
the .NET Framework.
Gets or sets the TypeFilterLevel of automatic deserialization the
BinaryServerFormatterSink performs.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/
frlrfSystemRuntimeRemotingChannelsBinaryServerFormatterSinkProviderClassType
FilterLevelTopic.asp

Also I have searched the internal website, but I did not find any official
document about the BinaryServerFormatterSinkProvider change between .net FW
1.0 to .net FW 1.0 sp2,sp3. As the document above I think the
TypeFilterLevel is not supported on .net FW 1.0. So have you tried to
remove TypeFilterLevel feature the the recompiled based on .net framework
1.0. To isolate the problem, I think we would better recompiled and run the
application on an machine with .net framework 1.0 + sp3 installed(I mean
the Configuration tool should be OK while on your problem machines the tool
did not work). So that we can isolate the problem.

Description of the Type Filtering feature in the Microsoft .NET Framework
(831687)
http://support.microsoft.com/default.aspx?scid=KB;EN-US;831687

BTW, from the description, I guess the "Request for the permission of type
System.DelegateSerializationHolder failed." is related with permission, to
remove the concern, we may try to put the necessary assemblies into GAC to
see if that helps.

Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
 
B

Bert Hyman

(e-mail address removed) ("Peter Huang") wrote in
Also I have searched the internal website, but I did not find any
official document about the BinaryServerFormatterSinkProvider
change between .net FW 1.0 to .net FW 1.0 sp2,sp3. As the document
above I think the TypeFilterLevel is not supported on .net FW 1.0.

Well, that's apparently the crux of the problem.

After installing Framework 1.0 SP3, our application began failing as I
described.

Setting the property "typeFilterLevel = full" in our
BinaryServerFormatterSinkProvider allowed the application to function
properly again.
 
G

Guest

We have the same error after downloading SP3.
I tried putting the typeFilterLevel="full" in the config file but the 1.0
framework does
not support this. I got a message in the eventlog that confirms this.

Does it work for you when implementing it in the code instead of in the
config file?
 
B

Bert Hyman

(e-mail address removed) (=?Utf-8?B?Sm9zIFNvZXRhZXJ0?=)
wrote in
We have the same error after downloading SP3.
I tried putting the typeFilterLevel="full" in the config file but
the 1.0 framework does
not support this. I got a message in the eventlog that confirms
this.

Does it work for you when implementing it in the code instead of in
the config file?

We set it in code:

IDictionary props = new Hashtable();
props["typeFilterLevel"] = "Full";
BSFP = new BinaryServerFormatterSinkProvider(props, null);

This morning, I completely unistalled Framework 1.0 and installed SP1,
SP2 and SP3, testing our app at each stage.

With the base framework and with SP1, "typeFilterLevel" wasn't
recognized at all. With SP2, it was diagnosed as not applying to the
BinaryServerFormatterSinkProvider. With SP3, it was not only accepted,
but required to get our app working again.
 
P

Peter Huang

Hi Bert,

I have trying to search the problem in our internal website, but so far I
did not find any related issue about the break change in the .net FW 1.0
sp3. As I reply to your another post about mscorcfg.msc corrupted, I can
not reproduce that problem, so I doubt that there is other problem on that
machine which cause the sp3 mscrocfg.msc corrupted.
So far I think our first piority is to resolve the mscorcfg.msc file
corrupted issue so that we can ensure there is no any other problem
related sp3 installation.

From your description, I understand that after you specify the
typeFilterLevel of BinaryServerFormatterSinkProvider, your application will
run in .net framework 1.0 + sp3. If that is true, I did not exclude that
the possibility that there is break change in the sp3. Can you build a
simple reproduce sample together with the detailed steps and send to me, I
will do further troubleshooting of the problem.

Thank for your understanding.

Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
 
B

Bert Hyman

(e-mail address removed) ("Peter Huang") wrote in
Can you build a simple reproduce sample together with the detailed
steps and send to me, I will do further troubleshooting of the
problem.

Problem: An apparently undocumented change was made in Framework 1.0
SP3 which implements a "typeFilterLevel" property in the
BinaryServerFormatterSinkProvider object with a default value of
"low". This change causes our existing application to break.

Sample program:

using System;
using System.Runtime.Remoting.Channels;
using System.Collections;

namespace Formatter
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
IDictionary props = new Hashtable();
props["typeFilterLevel"] = "Full";
BinaryServerFormatterSinkProvider BSFP =
new BinaryServerFormatterSinkProvider(props, null);
}
}
}

When run under the base Framework 1.0 or Framework 1.0 SP1, the
following error is generated:
------------------------------------------------------------------ An
unhandled exception of type 'System.TypeLoadException' occurred in
Unknown Module.

Additional information: Could not load type
System.Runtime.Serialization.Formatters.TypeFilterLevel
from assembly mscorlib, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089.
-------------------------------------------------------------------
When run under Framework 1.0 SP2, the following error is generated:

An unhandled exception of type
'System.Runtime.Remoting.RemotingException'
occurred in system.runtime.remoting.dll

Additional information: BinaryServerFormatterSinkProvider
does not recognize 'typeFilterLevel' configuration property.
--------------------------------------------------------------------
When run under Framework 1.0 SP3, no error is generated because the
object now has an undocumented property "typeFilterLevel".

If the code to set this property to "high" is not added, our
application breaks because the default value of "low" is not correct
for our situation.

This change in SP3 is apparently undocumented.

We are concerned that there are other changes in SP3 that we'll also
discover the hard way.
 
P

Peter Huang

Hi Bert,

I have reported the problem to our dev team, I will update you with new
information ASAP.

Thanks for your great efforts and understanding.

Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
 
P

Peter Huang

Hi

Sorry for delayed response.

Here is the reply from our product team.
The BinaryServerFormatterSink.TypeFilterLevel was added to the .NET
Framework 1.0 as part of SP3. This is a security addition for the SP3
service pack. Because the SP3 is just released we have not changed the
document in time. Now the problem has been reported and we are planing to
add this to our document.
Thank you for your understanding.


Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
 
B

Bert Hyman

(e-mail address removed) ("Peter Huang") wrote in
Here is the reply from our product team.
The BinaryServerFormatterSink.TypeFilterLevel was added to the
.NET Framework 1.0 as part of SP3. This is a security addition for
the SP3 service pack. Because the SP3 is just released we have not
changed the document in time. Now the problem has been reported and
we are planing to add this to our document.

Thanks.

I look forward to the announcement of the updated document's
availability.

Are there any other surprise features in SP3 we should be looking out
for?

Anything in Framework 1.1 SP1?
 
P

Peter Huang

Hi Bert,

I am sorry, so far we did not have such an official document about the
information.
For now we can just refer to the KB articles as below.

List of bugs that are fixed in Microsoft .NET Framework 1.0 Service Pack 3
http://support.microsoft.com/default.aspx?scid=KB;[LN];867461

List of bugs that are fixed in the .NET Framework 1.1 Service Pack 1 (SP1)
http://support.microsoft.com/default.aspx?scid=KB;[LN];867460

If you have some special problem, please feel free to post here and we will
follow you up.

Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top