Pregunta sobre .net, wic, windows-server-2008, vb.net, windows-server-2008-r2 – WIC CreateDecoderFromStream devolviendo 0x88982F50 posterior migración del servidor

3

Tengo una rutina de generación de miniaturas que creé usando WIC para una aplicación .NET. Ha estado funcionando bien durante el año pasado, pero solo migramos a un nuevo servidor.

El antiguo servidor era W2k8 R2 Enterprise SP1 El nuevo servidor es W2k8 Standard SP1

Aquí está el código que está fallando

    Public Sub New(ByVal PictureData As Byte())
        Me.WICFactory = New WICImagingFactory()

        Dim InputStream As IWICStream = WICFactory.CreateStream()
        InputStream.InitializeFromMemory(PictureData, PictureData.Length)

        InputDecoder = WICFactory.CreateDecoderFromStream(InputStream, Nothing, WICDecodeOptions.WICDecodeMetadataCacheOnDemand)

        '^===== This line throws the HRESULT 0x88982F50

He comprobado y los datos de la imagen son datos válidos. La misma imagen exacta funciona bien si ejecuto el código en el servidor antiguo.

Tu respuesta

2   la respuesta
1

e enesta pregunta, debe aplicar una actualización de la plataforma a Server 2008 (posterior al SP2) antes de que WIC esté disponible. (Está disponible de forma nativa en R2)

1

Eso es WINCODEC_ERR_COMPONENTNOTFOUND. Esto significa que WIC no pudo encontrar una clase de Decoder que esté registrada para el tipo de archivo en su flujo.

Esto es lo que sugeriría:

En el servidor antiguo donde funciona, imprima el valor de InputDecoder.GetDecoderInfo (). GetCLSID (), y tal vez también GetAuthor / GetFriendlyName. Si es uno de los CLSID incorporados listadosaquí, entonces el WIC en su nueva máquina probablemente esté roto. De lo contrario, deberá averiguar de dónde proviene el decodificador que está utilizando en la máquina anterior e instalarlo en la nueva máquina.

O simplemente busque un decodificador para cualquier tipo de archivo que tenga.

Preguntas relacionadas