Apparently, MultiSIM 14.3 at least installs just fine under recent versions of Wine, but it needs some relatively involved workarounds, which are laid out here.
corefonts
from Winetricks and Wine Mono:winetricks corefonts
wine control.exe appwiz.cpl install_mono
--accept-eulas
flag:wine ./Install.exe --accept-eulas
The reason for this is it failing to display the EULA during installation, which makes the process halt completely.
ni-msvcrt-2015_14.1.5.49152-0+f0_windows_all.nipkg
inside <installer directory>/pools
.ar -x --output=msvcrt-2015 ni-msvcrt-2015*.nipkg
instructions
file inside data.tar.gz
to read the following:<instructions>
<msis>
<msi name="VC2015Core.msi"/>
</msis>
<customExecutes>
<customExecute exeName="VCRunTimeInstaller.exe" arguments="x86" inPackage="y" schedule="pre" wait="y" returnCodeConvention="installer"/>
<customExecute exeName="VCRunTimeInstaller.exe" arguments="x64" inPackage="y" schedule="pre" wait="y" returnCodeConvention="installer" condition="VersionNT64"/>
</customExecutes>
</instructions>
data.tar.gz
back up if unpacked to modify, and pack the .nipkg
back up as well:# assuming you're in the directory with data.tar.gz, control.tar.gz files (<installer dir>/pools/msvcrt-2015)
ar r --output=../ni-msvcrt-2015*.nipkg ./*
md5sum ni-msvcrt-2015*.nipkg
<installation dir>/feeds/ni-cds-professional/Packages
. The file consists of entries separated by empty lines; find the one with Package: ni-msvcrt-2015
and change the MD5Sum:
line to have the new checksum.Packages
file into Packages.gz
in the same directory (not sure if this is actually needed, but my installer had both files):gzip -k Packages
winetricks vcrun2015
After installation there should be a start menu shortcut called NI Multisim
, which should work fine if you installed VC++ 2015.
For me, both the start menu shortcut and <wineprefix>/drive_c/Program Files (x86)/National Instruments/Circuit Design Suite 14.3/multisim.exe
fail with the following exception:
Unhandled Exception:
System.PlatformNotSupportedException: Operation is not supported on this platform.
at <Module>.TryInitializeInSTA_Managed (System.Byte* input, System.UInt32 inSize, System.Byte* output, System.UInt32* outSize) [0x00017] in <2e56bcb56eed4ad9a52d5a16fe6f74fc>:0
at (wrapper native-to-managed) <Module>.TryInitializeInSTA_Managed(byte modopt(System.Runtime.CompilerServices.IsConst)*,uint modopt(System.Runtime.CompilerServices.IsConst),byte*,uint*)
[ERROR] FATAL UNHANDLED EXCEPTION: System.PlatformNotSupportedException: Operation is not supported on this platform.
at <Module>.TryInitializeInSTA_Managed (System.Byte* input, System.UInt32 inSize, System.Byte* output, System.UInt32* outSize) [0x00017] in <2e56bcb56eed4ad9a52d5a16fe6f74fc>:0
0024:fixme:ver:GetCurrentPackageId (0042E47C 00000000): stub
The situation with Ultiboard / ultiboard.exe
is, sadly, the same.