re:Help !! Server.CreatePlaylist ERRORS !!!!
- From: moreira.w@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (WashingtonBR)
- Date: Sun, 06 Nov 2005 03:30:10 -0600
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
.
- Prev by Date: Re: No streaming w/o Username/Password for users outside of server
- Next by Date: help to create pust publishing point
- Previous by thread: Re: Pushing using wmenc sdk and dcom
- Next by thread: help to create pust publishing point
- Index(es):
Relevant Pages
|