Install MSI with Wine

10,596

General approach

An MSI must be installed using msiexec:

wine msiexec /i foo.msi

Troubleshooting

That should work for any software packaged as a Windows Installer package (aka MSI).

If you get some kind of error message, then the reason probably is either:

  • there is a problem with your wine installation
  • wine does not support the software you are trying to install

To rule out the first case, troubleshoot your installation: Make sure other programs work, use a fresh wine prefix (the simulated Windows installation that wine uses - see Wine FAQ, 6.5.2 Can I store the virtual Windows installation somewhere other than ~/.wine?).

To check whether the problem is specific to the software to install, check the Wine Application Database (AppDB), https://appdb.winehq.org/ . If the software is listed, any tricks you need should be mentioned.

Your problem

The log you posted shows several error messages. This most likely means that wine does not (fully) support the software. That problem must be solved within wine, so it's unlikely you will get more help here.

Try to find the software you want to install in Wine's AppDB, and use any tricks mentioned there (feel free to ask a separate question if you encounter problems). If that fails, you can only file a Wine bug in the hope that someone will fix the problem.

As to your mention of .NET 4.5: As pointed out in comments, Mono is not the same as .NET (it only implements some of the technology in .NET). So you will probably have to install the full .NET framework from Microsoft. That should work, as the AppDB lists the .NET framework as mostly working.

Share:
10,596

Related videos on Youtube

aaa
Author by

aaa

Updated on September 18, 2022

Comments

  • aaa
    aaa over 1 year

    When I try to install an MSI, either with start, msiexec or nothing, it tells me that there is no Windows program configured to open this type of file

    And it tells me too that MS.NET F4.5 needs to be installed, but I already have wine-mono installed

    Heres some logs :

    0009:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
    0009:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
    0009:err:mscoree:LoadLibraryShim error reading registry key for installroot
    0009:err:mscoree:LoadLibraryShim error reading registry key for installroot
    0009:err:mscoree:LoadLibraryShim error reading registry key for installroot
    0009:err:mscoree:LoadLibraryShim error reading registry key for installroot
    0009:err:msi:ITERATE_Actions Execution halted, action L"LaunchConditions" returned 1603
    0009:err:ole:CoGetClassObject class {cacaf262-9370-4615-a13b-9f5539da4c0a} not registered
    0009:err:ole:CoGetClassObject no class object {cacaf262-9370-4615-a13b-9f5539da4c0a} could be created for context 0x1
    0009:err:olepicture:OleLoadPicture IPersistStream_Load failed
    0009:err:msi:msi_load_picture failed to load picture
    0009:err:msi:msi_dialog_bitmap_control Failed to load bitmap L"NewBinary5"
    
    • Ramhound
      Ramhound about 4 years
      If your application is targeted towards .NET 4.5 then it’s not compatible with Mono which is based on .NET Core
    • aaa
      aaa about 4 years
      Thank you! I edited my question
    • sleske
      sleske about 4 years
      @Ramhound: Thanks for the information. I took the liberty of adding it to my answer, hope you don't mind.