Installing software that chokes on MDAC

I am not sure that this is right place for this, but here goes!
I have been using a circuit design suite from National Instruments (NI for short) for many years, and have hundreds of PCB designs generated using Ultiboard, their PCB layout/editing program. This software is old - 2007-ish vintage - but has worked well for me in various flavors of Windows, and I cannot afford to buy a new update. I wanted to try and install it using Wine on my Zorin distro, and all seemed to be going well until I got an error message that said that the install required MDAC 2.1 SP1. Apparently, this is some kind of obsolete Windows account control, that is not needed for later Windows installs (which is why I could install and run on a W11 machine with no issues). However, Wine does not seem to have any way of dealing with this, and online searching pretty much says I need to install a virtual machine, and I have never done that in Linux. So, I need a recommendation as to which virtualization software to use, and how to actually install a Windows app using it. Do virtual machines have full access to networks, USB ports and such? Do they always have to be running, even if I'm not using a Windows app?

Always remember the X - Y problem.

Your actual issue is solving using your PCB editor. Using Wine, you can use Winetricks to install what you need (MDAC):
You can use Windows XP mode

WINEPREFIX=~/ni-ultiboard winecfg

Install MDAC using Winetricks:

sudo apt install winetricks

winetricks mdac28 jet40

winetricks richtx32

You may also need .NET or vcrun... I would need to try this out to find out... but those too can be installed.

Exploring options, there may be a Native Linux program you can use without jumping through install and dependency loops or falling down rabbit holes.
KiCad or LibrePCB may serve your needs just fine. While it would mean learning a new software, it should be painless and allows for future proofing.

If none of the above an work for you, then using VMWare, VirtualBox, QEMU or Gnome-Boxes may be your Virtual Machine route - but these are lengthy topics, so let's explore your simpler options first.

Cool! I'll give that a shot!

OK, I immediately got stuck. I installed winetricks, but totally don't understand the WINEPREFIX process. If I try to run the winetricks mdac28 jet40 command, I get an error message that says that I'm using a 64-bit prefix, and "you must use a prefix made with WINEARCH=win32" It is not clear as to where, exactly, this prefix is to be located - is it in the .wine folder, or in the actual folder that has the Windows app installation file?

It is an odd thing. A folder used by Wine as its "Fake Windows instance" is a Prefix.
You can make a prefix - by making a directory (MakE DIRectory)

mkdir -p ~/wine-ultiboard

The WINEARCH sets the Wine Architecture - in this case to 32 bit

WINEARCH=win32 WINEPREFIX=~/wine-ultiboard winecfg

This is your reference point to install to, so

WINEPREFIX=~/wine-ultiboard winetricks mdac28 jet40

OK, I already have a directory for my Ultiboard install, so type this in terminal:
WINEARCH=win32 WINEPREFIX=~/.wine/drive_c/NI_Ultiboard winecfg

I get a bunch of error messages:
0054:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
0054:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
0054:err:ole:apartment_get_local_server_stream Failed: 0x80004002
0054:err:ole:start_rpcss Failed to open RpcSs service
004c:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
004c:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
004c:err:ole:apartment_get_local_server_stream Failed: 0x80004002
002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10
002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10
00f8:err:setupapi:do_file_copyW Unsupported style(s) 0x10
002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10
00f8:err:setupapi:do_file_copyW Unsupported style(s) 0x10

I also get a Wine configuration window that pops up, and I select Windows XP, then apply, then OK.
I then type:
WINEPREFIX=~/.drive/drive_c/NI_Ultiboard winetricks mdac28 jet40

And I get this:
Executing cd /usr/bin
Executing mkdir -p /home/dave/.drive/drive_c

warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.

Using winetricks 20240105 - sha256sum: 17da748ce874adb2ee9fed79d2550c0c58e57d5969cc779a8779301350625c55 with wine-10.0 (Ubuntu 10.0~repack-6ubuntu1+zorin5) and WINEARCH=win64
Executing w_do_call mdac28

warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.

Executing load_mdac28

warning: This package (mdac28) does not work on a 64-bit installation. You must use a prefix made with WINEARCH=win32.

I am lost here!

You may have a directory, but it is not set as 32 bit.

I recommend a fresh start - delete the existing directory.
Create it new

mkdir -p ~/wine-ultiboard

Set as 32bit

WINEARCH=win32 WINEPREFIX=~/wine-ultiboard winecfg

Well, I finally got it to install the mdac28/jet40 files, but the actual NI installation keeps saying it can't install because a higher version is already installed. I have V13, and I know that there is nothing else installed, but I cannot figure out where the installer is thinking that there is a higher version installed anywhere. I'm pretty much at the point of giving up on this software, it just seems to fight me for everything. I appreciate your help very much, now I better understand the prefix process, so that may help with other Windows apps in the future.

You might be able to get the software to ignore the check (This happens because the older software was written to expect an earlier version of MDAC), but only if the software installer accepts the command:

setup.exe /q /norestart /ignorecondition

If it does not - I feel your pain. Picky software can be like pulling teeth to install. IT might be worth looking into Native GnuLinux software - or running a VM of Windows OS.

I did install a W10 VM using VirtualBox, but it is clumsy to use, as comparted to just booting Windows and running from that, so I've pretty much decided that Linux is not for me, other than as a novelty.