re:Help !! Server.CreatePlaylist ERRORS !!!!

Tech-Archive recommends: Fix windows errors by optimizing your registry



Hi All,
Art Rodkin your solution really compile, but look the following
combinations:

1-(Server WMS 9.1 (Win2K3 SP1) +
(PIA)Microsoft.WindowsMediaServices.dll 9.0.0.1(file version
9.0.0.3693) + interop_msxml 2.0.0.0)
In this case some things do not work correctly. Exceptions occur when
working with playlists.

2-(Server WMS 9.1 (Win2K3 SP1) +
(PIA)Microsoft.WindowsMediaServices.dll 9.0.0.0(file version
9.0.0.3665) + interop_msxml 2.0.0.0)
In this case work correctly. You only lose some new features that
exist in WMS 9.1.

3-(Server WMS 9.0 (Win2K3 without SP1) +
(PIA)Microsoft.WindowsMediaServices.dll 9.0.0.0(file version
9.0.0.3665) + interop_msxml 2.0.0.0)
No problems.

4-(Server WMS 9.1 (Win2K3 SP1) +
(PIA)Microsoft.WindowsMediaServices.dll 9.0.0.1(file version
9.0.0.3693) + interop_msxml 9.0.0.3693)
In this case you have a compiler error, because the manifest inside
the PIA reference the old version and the public key of interop_msxml
2.0.0.0. The new version comes without a public key, so a bindRedirect
is difficult.

While Microsoft does not decide this headache, there is a workaround
that work:

1- Use ILDasm to generate MSIL source code for the assembly
Microsoft.WindowsMediaServices.dll 9.0.0.1(file version 9.0.0.3693):


ildasm microsoft.windowsmediaservices.dll
/out=microsoft.windowsmediaservices2.il

2- Modify the MSIL code with Visual Studio or other editor. Now you
need to be aware in what you can do. In the beginning of IL you
will see the
manifest, look the second external referenced assembly:

[code:1:693e7608bb]
assembly extern interop_msxml
{
.publickeytoken = (31 BF 38 56 AD 36 4E 35 )
// 1.8V.6N5
.ver 2:0:0:0
}
assembly Microsoft.WindowsMediaServices
{
[/code:1:693e7608bb]

3- Modify the lines above to look as follows:

[code:1:693e7608bb]
assembly extern interop_msxml
{
.ver 9:0:0:3693
}
assembly Microsoft.WindowsMediaServices2 //Note the change in this
line too
{
[/code:1:693e7608bb]
4- A little more below, in the IL exist the section where are the
declarations of the public key and the attribute that defines this
assembly
as a primary interop assembly:

[code:1:693e7608bb]
custom instance void
[mscorlib]System.Runtime.InteropServices.PrimaryInteropAssemblyAttribute::.ctor(int32,

int32) = ( 01 00 09 00 00 00
00 00 00 00 00 00 )
.publickey = (00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00
// .$..............
00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 //
$..RSA1........
B5 FC 90 E7 02 7F 67 87 1E 77 3A 8F DE 89 38 C8 //
......g..w:...8.
1D D4 02 BA 65 B9 20 1D 60 59 3E 96 C4 92 65 1E //
....e. .`Y>...e.
88 9C C1 3F 14 15 EB B5 3F AC 11 31 AE 0B D3 33 //
...?....?..1...3
C5 EE 60 21 67 2D 97 18 EA 31 A8 AE BD 0D A0 07 //
..`!g-...1......
2F 25 D8 7D BA 6F C9 0F FD 59 8E D4 DA 35 E4 4C //
/%.}.o...Y...5.L
39 8C 45 43 07 E8 E3 3B 84 26 14 3D AE C9 F5 96 //
9.EC...;.&.=....
83 6F 97 C8 F7 47 50 E5 97 5C 64 E2 18 9F 45 DE //
o...GP..\d...E.
F4 6B 2A 2B 12 47 AD C3 65 2B F5 C3 08 05 5D A9 )
// .k*+.G..e+....].
.hash algorithm 0x00008004
.ver 9:0:0:1
}[/code:1:693e7608bb]

5- Remove all the lines starting from ".custom instance void
[mscorlib]
System.Runtime.InteropServices.PrimaryInteropAssemblyAttribute..." ,
leaving only the last three lines of the section showed above as
below:

[code:1:693e7608bb]
.hash algorithm 0x00008004
.ver 9:0:0:1
}
[/code:1:693e7608bb]

6- Now you have an IL that is no more strong named and no more is a
PIA.
Using your editor replace feature, change all the text occurrences of

"Microsoft.WindowsMediaServices.Interop" to
"Microsoft.WindowsMediaServices2.Interop2". It begins on the first
occurrence
of ".namespace Microsoft......."

7- Save your work and Recompile the MSIL using the ILASM compiler:

[code:1:693e7608bb]
ILAsm /dll /resource=microsoft.windowsmediaservices2.res
microsoft.windowsmediaservices2.il
[/code:1:693e7608bb]
OK, if you did all things right, now you have a new assembly with a
new
namespace that will not conflict with the official version and that
can work
with interop_msxml version 9.0.0.3693 assembly.

Good lucky..
Washington Moreira

.



Relevant Pages

  • RE: public key token of interop_msxml.dll in SDK?
    ... In the new version of the Windows Media Services SDK, ... assembly came without public key. ... 2- Modify the MSIL code with Visual Studio or other editor. ... ..assembly extern interop_msxml ...
    (microsoft.public.windowsmedia.sdk)
  • Re: Something on CVF 6.6C
    ... > while Intel keeps saying that there is no market for MSIL. ... meant insufficient market for yet another Fortran compiler to generate MSIL, ... I don't believe those vendors ...
    (comp.lang.fortran)
  • Re: .Net applications, not optimized for CPU at all?
    ... Both Java VM and MSIL are logically stack machines. ... while the MSIL instructions aren't. ... This implies that all the usual compiler tricks can be applied. ...
    (borland.public.delphi.non-technical)
  • Re: /clr:pure and unmanaged lib
    ... VCRT linked in, take a look at the assembly manifest generated by the compiler, this manifest contains the assembly's depencies, something like. ... Pure is MSIL only, but the CRT includes an MSIL version of some functions, so the dependency still exists. ...
    (microsoft.public.dotnet.languages.vc)
  • Re: Is There Any Reason to Even Use VC++ Anymore?
    ... I never did any benchmarks, so I was basing my statement on other reports. ... Sure the C++ compiler can ... > spend some extra time to optimize MSIL, while the C# compiler is more time ... >>> You could almost think of the syntax extensions almost independent of ...
    (microsoft.public.dotnet.languages.vc)