MultiSIM 14.3 under Linux

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.

Workarounds for installation

1. The installer needs corefonts from Winetricks and Wine Mono:

winetricks corefonts
wine control.exe appwiz.cpl install_mono

2. Always run the installer with --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.

3. Patch out KB2919355 check from the installation packages

  1. Locate ni-msvcrt-2015_14.1.5.49152-0+f0_windows_all.nipkg inside <installer directory>/pools.
  2. Extract with AR:
ar -x --output=msvcrt-2015 ni-msvcrt-2015*.nipkg
  1. Modify the 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>
  1. Pack the 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 ./*
  1. Calculate the MD5 hash of the new archive:
md5sum ni-msvcrt-2015*.nipkg
  1. Insert the new hash inside <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.
  2. Compress the 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
  1. The installation should now proceed smoothly, but don't forget to install Visual C++ 2015 manually later:
winetricks vcrun2015

Running

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.