MikePohatu / TsGui

Custom GUIs in ConfigMgr
GNU General Public License v3.0
47 stars 5 forks source link

Images not working in 64-bit WinPE (ADK 1803) - mscms.dll not part of WinPE image #1

Closed jrbarnes closed 5 years ago

jrbarnes commented 5 years ago

Prefacing this with: I'm still relatively new at working with SCCM, WinPE, and Task Sequence development. Please absolutely correct me on anything I may misunderstand.

When attempting to run TsGui from 64-bit WinPE (ADK 1803), any Config.xml that utilizes the <Image> tag to include an image results in the error seen here, as mscms.dll does not appear to be part of the WinPE media: tsgui-mscms-error

All other formatting options I have tried so far function correctly, resulting in TsGui working as intended within WinPE. Only images seem to be problematic. I confirmed that mscms.dll is not present in the WinPE media.

I have not yet tried working around this by either adding the DLL to WinPE using DISM, nor dynamically copying it into the WinPE environment as a Task Sequence step, as I did not want to add an additional custom step to maintain for my org's imaging process, as we depend on a parent group that generates/provisions WinPE media we consume.

I did verify that the required optional component Microsoft .NET (WinPE-NetFx) is added to the WinPE media I am using, in addition to:

In researching the issue, I did find this (older) StackOverflow post which may have some relevance: https://stackoverflow.com/questions/17225427/why-do-i-get-this-exception-in-winpe-4-0-but-not-windows-7-windows-2012

Being unfamiliar with the tools available, I am uncertain if there is a functional workaround aside from what I described above. If there is not a pre-existing library available within WinPE that can serve to provide the image presentation/scaling options needed, that's totally understandable. Also: if I have misconstrued any details above, please let me know.

Please let me know if there is any additional detail I can provide to be of help.

MikePohatu commented 5 years ago

Hi James,

This is a limitation in WinPE not having certain features from .Net. I haven't pegged down what causes that specific exception, but often you can workaround the issue by saving the image in a different format e.g. .bmp and this gets things up and running.

jrbarnes commented 5 years ago

Hi Mike,

Thank you for the workaround! Using a .bmp does indeed work totally fine. My assumption (based on the StackOverflow link above) is that C# calls back to a different library for handling the image depending upon the file type.

Would you like me to close this issue, or would you like to handle it differently yourself?

jrbarnes commented 5 years ago

Limitation of mscms.dll not being included in WinPE's .NET content, which appears to be required for presenting PNG-formatted images.

Workaround: use BMP-formatted images in TsGui branding for WinPE compatibility.