Forum Discussion

oconobee's avatar
oconobee
Copper Contributor
Dec 09, 2025

Trying to MSIX package LOB application that needs TWAIN access

So I think this isn't possible but I just wanted to ask.

 

I've a LOB application that needs to access TWAIN scanning devices.

How this works in a normal environment is that the TWAINDSM.dll (TWAIN Data source manager) is loaded from c:\windows\system32

This then scans the C:\Windows\twain_32 or C:\Windows\twain_64 depending on if the app is x86 or x64

The scanning manufacturers will have their TWAIN drivers installed to c:\windows\twain_32 (or 64) as subfolders and the TWAIN Data source manager scans these subfolders for available TWAIN devices that can be connected to.

 

All this breaks down in an MSIX environment because the container doesn't have access to C:\windows\twain_32\ManfactureDriverN folder

It can see the folders and when the TWAINDSM tries to initialize the driver it fails, most likely due to sandbox limitations.

 

Does anyone know of a solution to this, or apps like this will always need to stick to MSI packaging because of this limiation.

 

Thanks.

1 Reply

  • All this breaks down in an MSIX environment because the container doesn't have access to C:\windows\twain_32\ManfactureDriverN folder

    Well, as written that isn't true.  The app running in the MSIX container would have access to that folder, whether or not it is inside the package or on the native system.

    More likely, you are attempting to install the twain driver as part of the package.  The kernel cannot see your driver as MSIX does not support drivers of any kind being inside the package.  If you treat the driver as an independent dependency, the driver may be installed natively and the application inside the MSIX container may then use it.

    Make sense?

Resources