Eerst effe de frustraties eruit:
De 'oplossing' voor de dll hell is SxS, aldus Microsoft.
Echter, ik kom er effe niet uit.
De documentatie staat soms bol van de fouten en de manifests zijn er in een aantal versies waar sommige zelfs XP installaties kunnen BSOD'en.
Zo, dat is eruit, nu verder met het werkelijke probleem.
Ik probeer een managed dll via een unmanaged client aan te spreken.
Het lijkt te werken op Windows 7, maar niet op XP tenzij ik het manifest toevoeg als een resource van de dll.
Nou is dat geen ramp en wel te automatiseren, maar nu werkt dat lel niet op server 2003.
In de docs staat dat XP eerst kijkt of er een extern manifest is en zo niet, dan switched naar een intern manifest en bij server 2003 werkt het precies andersom. Handig!
Dat zou allemaal nog geen ramp zijn als ik het maar met een intern of extern manifest werkend krijg op elk system.
Sxstrace biedt weinig uitkomst en soms komen er hele handige errors tevoorschijn als "error 59. error reference is: the operation completed successfully"
Doe het dan, stom ding!
Dit is hoe ik het werkend heb gekregen
Windows 7: zowel extern als intern manifest
Windows XP: Alleen met intern manifest
Windows 2003: Niet werkend gekregen.
Dan hier nog een test project manifest
En hier die van mijn test dll
Wat o wat doe ik fout?
De 'oplossing' voor de dll hell is SxS, aldus Microsoft.
Echter, ik kom er effe niet uit.
De documentatie staat soms bol van de fouten en de manifests zijn er in een aantal versies waar sommige zelfs XP installaties kunnen BSOD'en.
Zo, dat is eruit, nu verder met het werkelijke probleem.
Ik probeer een managed dll via een unmanaged client aan te spreken.
Het lijkt te werken op Windows 7, maar niet op XP tenzij ik het manifest toevoeg als een resource van de dll.
Nou is dat geen ramp en wel te automatiseren, maar nu werkt dat lel niet op server 2003.
In de docs staat dat XP eerst kijkt of er een extern manifest is en zo niet, dan switched naar een intern manifest en bij server 2003 werkt het precies andersom. Handig!
Dat zou allemaal nog geen ramp zijn als ik het maar met een intern of extern manifest werkend krijg op elk system.
Sxstrace biedt weinig uitkomst en soms komen er hele handige errors tevoorschijn als "error 59. error reference is: the operation completed successfully"
Doe het dan, stom ding!
Dit is hoe ik het werkend heb gekregen
Windows 7: zowel extern als intern manifest
Windows XP: Alleen met intern manifest
Windows 2003: Niet werkend gekregen.
Dan hier nog een test project manifest
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="TestProject" processorArchitecture="X86" type="win32" version="1.0.0.0" /> <dependency> <dependentAssembly> <assemblyIdentity name="TestDll" version="1.0.0.0" publicKeyToken="e334e73a9469f44c" processorArchitecture="MSIL"/> </dependentAssembly> </dependency> </assembly> |
En hier die van mijn test dll
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="TestDll" version="1.0.0.0" publicKeyToken="e334e73a9469f44c" processorArchitecture="MSIL" /> <clrClass clsid="{2A7AB05D-E212-4F0E-9AD6-0D7787917D1D}" progid="TestDll.Command" threadingModel="Both" name="TestDll.Command" runtimeVersion="v2.0.50727"> </clrClass> <file name="testdll.dll"> </file> </assembly> |
Wat o wat doe ik fout?
Lekker op de bank