As described in another post, I was installing Linux Mint Xfce 17.3 on an old 32-bit Dell XPS M1210 laptop. As part of that installation, I decided to see if I could make IrfanView run on Wine in that Linux installation. IrfanView was a very useful, Swiss Army knife kind of multimedia program that ran only in Windows. It was small and it came in both installed (32-bit and 64-bit) and portable form.
Note: a post written after this one presents a streamlined method of installing Wine. As such, that post resolves most of the issues addressed here. This post provides the perspective of a newcomer, logging my efforts to use various ways of getting IrfanView to run in Wine. I had rarely used Linux in the past five years, so this account includes descriptions of various false starts and uncertainties. Note also that another post discusses the use of Cameyo to virtualize IrfanView for use with Wine.
It appeared that different approaches worked for different systems, so I did not attempt a summary recommending any specific method. The Winetricks section (below) describes the steps that worked for me. I was not sure whether those steps would have worked if I had not first taken certain other steps, as described in the following paragraphs.
Trying Methods That Worked for Others
It seemed that the first thing to do, in trying to run IrfanView in Mint using Wine, would be to consult the WineHQ Application Database (fortuitously abbreviated as AppDB rather than WAD). Its search box produced nothing, but a search for IrfanView in its Browse Apps page (not to mention a Google search) led to a page presenting the results of user tests. Those results, apparently sorted in order of decreasing date value, contained outcomes varying across the Wine result spectrum, from Garbage to Platinum. Within that list of outcomes, clicking on a single test result would display its details. The two most recent tests, at this writing, produced Platinum results on Ubuntu 14.04 (the base of Linux Mint 17.3) and on something confusingly labeled Linux Mint 17.3 “Rebecca” (which was actually the code name of 17.1). The test on Ubuntu used IrfanView 4.40 x64 and was actually conducted on Lubuntu 14.04.3. The test on Mint 17.1 or 17.3 used IrfanView 4.41 x64, and did not test the plugins that accompanied IrfanView.
The next question was, how did they do it? I decided to start by looking for information on the PlayOnLinux front end for Wine. Its User Manual said that, if I couldn’t find its startup icon in my Start menu, I could just open a terminal and type playonlinux. That worked: the program opened. It said “Microsoft fonts aren’t installed” and encouraged me to consider installing the Debian package ttf-mscorefonts-installer. Not wanting to install foreign packages, I deferred that for now.
So now PlayOnLinux was just looking at me. I clicked on its Install button. This opened the Install menu. There, I ran a search for IrfanView. That produced nothing, so I clicked the “Install a non-listed program” link. It gave me some instructions:
When PlayOnLinux installs a Windows program, Leave the default location [and] Do not tick the checkbox ‘Run the program’ if asked.
The User Manual said nothing further about that, so I clicked OK to get past those instructions. After a few seconds, the Manual Installation Wizard opened. I wasn’t editing or updating an existing application, so I chose the other option, “Install a program in a new virtual drive.” It asked for a name for the virtual drive, so I typed IrfanView. Next it asked if I would like to user another version of Wine, configure Wine, or install some libraries. I didn’t know, in which case it said, unselect all three of those options. They were already unselected, so I just clicked Next. This gave me an error:
Wine could not find a Mono package which is needed for .NET applications to work correctly. Wine can automatically download and install it for you.
Note: it is recommended to use your distribution’s packages instead. See http://wiki.winehq.org/Mono for details.
So I clicked Cancel. Instead of cancelling, though, I got another error, almost identical, telling me I also needed Gecko. I was still puzzling over the part about .NET applications; I didn’t think IrfanView was one. I guessed that the .NET application part referred to the virtual disk. Clicking Cancel here seemed to commence the creation process. I canceled that too, and bailed out of PlayOnLinux. I went back to Synaptic, searched for gecko and mono, and saw multiple options for each. A search led to an assurance that I wanted wine-gecko, though I wasn’t sure whether I had the right version; I just went with the one available in Synaptic. Another search led to another Wine-HQ page, this one telling me that I wanted wine-mono. After installing those, I ran the command to start PlayOnLinux again. At first, it didn’t give me that option of installing a non-listed program, but I fiddled around with Synaptic (e.g., clicking on Reload) and killed and restarted PlayOnLinux again, and eventually that option reappeared. I went back through the other steps, and this time the thing seemed to run — but it gave me this:
The target virtual drive IrfanView already exists:
- Overwrite (usually works, no guarantee)
- Erase (virtual drive content will be lost)
- Abort installation
I chose Erase. Now PlayOnLinux said, “Please select the install file to run.” Since this was a 32-bit machine, it seemed obvious that I should run the 32-bit version of IrfanView. On another computer, I downloaded the most recent x86 installer (i.e., not the portable version) from Softpedia. This was version 4.42. I copied it onto a SDHC card, plugged that into the Dell laptop, clicked the Browse button in PlayOnLinux, and selected that IrfanView installer. Then I clicked Next. I got an immediate indication that “PlayOnLinux has encountered an error.” The details stated that “The following file is located on a fuse filesystem. It might prevent wine from working.” I clicked Cancel and started over, this time trying to load the IrfanView installer from a USB drive. But again an error, this time referring to a FAT32 filesystem as the potential problem. I copied the IrfanView installer onto the Dell’s desktop and tried again there. But again a problem: “Error in POL_Wine. Wine seems to have crashed.”
It was time to consult the experts. A search led to various suggestions for other programs as alternatives to IrfanView. I noticed that one person suggested XnView. I was aware that Irfan felt that the XnView people had stolen his material; in the past, I had also found that XnView did not work quite the way I preferred. I saw that multiple individuals claimed to be using IrfanView successfully in Linux. I decided to continue with this introductory exploration of Wine.
One such success story appeared in a recent post by a Linux Mint user. The advice there was to forget about PlayOnLinux and use the command line with Wine directly. First, they said, I had to copy C:\Windows\System32\mfc42.dll from my Windows machine. But I could not find the target location for that mfc42.dll file. Browsing in File Manager on the Dell laptop, I did not see the /home/username/.wine folder they were talking about, even after using Ctrl-H to view hidden folders. (During Linux Mint installation, I had set the username as m1210, the model number of the Dell laptop. So on this machine, the target location for mfc42.dll would be /home/m1210/.wine/drive_c/windows/system32.) Unfortunately, Wine did not seem to have installed that .wine folder.
It looked like my Wine installation might be messed up. When I went into Start > Wine > Browse C Drive, I got an error: “Unable to detect the URI-scheme of ‘.wine/dosdevices/c:” So I decided to start over. I went to Start > Wine > Uninstall Wine Software. When I ran that, I got a message indicating that the .wine folder was being updated, as if to say it really was there, and I had somehow just missed it. The uninstaller got to the point of asking if I wanted to uninstall gecko and mono too, and I decided not to do that; I would just have to install them again in a few minutes. So I clicked Cancel. But this produced an interesting result. Synaptic (i.e., Start > System > Package Manager) said that Wine was still installed. And now, when I went back into Start > Wine > Browse C: Drive, I saw that this put me at exactly the /home/username/.wine folder that I hadn’t been able to find via my own direct browsing in File Manager (above). So, OK, it seemed I had not actually uninstalled Wine, but had somehow fixed a problem and/or had found the missing folder. I think I might have deleted a PlayOnLinux folder somewhere along the way; possibly PlayOnLinux had created the problem.
Now, I was able to copy mfc42.dll into /home/m1210/.wine/drive_c/windows/system32. At this point, I noticed that Sven Boekhoff (cited with approval in Irfan’s FAQs) said I could also copy over the folder in which IrfanView had been installed on my Windows machine. That sounded like a good idea: I had noticed that the people reporting into the WineHQ database said they had not tried to install the IrfanView plugins in Linux. But I had installed the plugins in Windows. So hopefully, by bringing over the whole folder, I would bring along the plugins. Unfortunately, I was not sure which folder to put them into. My Windows machine was running Windows 7, so the folder on that machine was located at C:\Program Files (x86)\IrfanView. That (x86) folder was different from the C:\Program Files folder where 64-bit software got installed. But on the Linux machine, all I had so far was /home/m1210/.wine/drive_c/Program Files. That is, I didn’t have a /Program Files (x86) folder. I decided to skip Sven’s advice, at least for the moment.
So, OK, I had mfc42.dll. Now what? The Linux Mint user advised me to right-click on the IrfanView installer (now located on the Linux desktop) and choose “Open with Wine.” I didn’t have quite that option. I had “Open With” and then a submenu featuring, among other things, “Open with ‘Wine Windows Program Loader.'” I tried that. The computer thought about this for a minute, as I could tell from the little spinning wheel on the cursor; but then the spinning wheel went away, and nothing further happened. (I saw that another Windows user had this same experience.) Had IrfanView been installed? There didn’t seem to be any new icons in the Start menu. The Linux Mint user said that I should now be able to run IrfanView by typing this in Terminal:
wine "C:/Program Files/IrfanView4/i_view32.exe"
This seemed to imply that I should be able to find an IrfanView4 folder, containing i_view32.exe, in /home/m1210/.wine/drive_c/Program Files. But there was no IrfanView4 folder at that location. I tried the command anyway. Sadly, that command returned nothing except a “>” prompt. Without anything like an IrfanView folder, there seemed to be no point in experimenting with variations on the recommended command. It looked like something was wrong with Wine, or with my installation, or with the instructions. But probably not with the instructions. They seemed to work for some users — just not for me or for others.
Back in the WineHQ database, I saw that the recent contributors who had achieved Platinum results with IrfanView on Wine had used the 64-bit version of IrfanView. Possibly there was something different about that version. The recent contributor who had achieved Platinum results on Linux Mint 17 reported using Wine 1.6.2. According to Synaptic, that was what I was using too.
The Gratke Group reported that they had tried installing IrfanView via WineTricks, but that this did not work. A search led to various suggestions for using WineTricks, which WineHQ described as “a helper script” for installing some programs in Wine. Another possible explanation for Gratke’s success was that they had used an older version of IrfanView (version 3.7). A search led to various sources from which that version was still available.
Before pursuing those options, I decided to try the current portable version of IrfanView. I downloaded the x86 portable and went through the same steps as above. When I put it on the desktop and right-clicked on it, I saw that the option of opening with Wine had moved: it was now on the main context menu, not in the “Open With” submenu. I clicked on it. Once again, I got the spinning wheel for a minute, and then nothing, and there wasn’t anything new in the .wine/drive_c/Program Files folder. In short, the portable version did not seem to be the solution.
I went back to Gratke’s advice and downloaded IrfanView 3.70 from OldVersion.com. Using the same steps as before produced no difference, but instead of choosing a right-click context menu option for Wine, Gratke used a command. I decided to try a version of that command, first, with the newer version of IrfanView. To make this command work, I moved these several IrfanView installer (.exe) files from Desktop to the Downloads folder. Then I opened Terminal and typed the following commands (case-specific):
cd Downloads ls wine iview442_setup.exe
The first of those commands put me into the Downloads folder. I could tell that I was there because now the word “Downloads” appeared in the command prompt. The second of those three listed commands (“ls”) showed me which files were in the Downloads folder, so I could verify the exact spelling of the IrfanView installer. The third command used the exact spelling of the installer for the most recent non-portable version of IrfanView.
That third command gave me an error: it said, basically, that the attempt to load mfc42.dll failed. I verified that mfc42.dll was in the System32 folder (above). Was it supposed to be in this Downloads folder too? I copied it there and tried the command again. (Note: pressing the Up arrow was an easy way to re-enter the same command in Terminal.) That didn’t help. I changed the last command to invoke the installer for version 3.70 instead of 4.42. But that didn’t work either.
I ran a search for the error message I was getting. It produced only three results: two were not helpful, and the other was in German. I ran it through Google Translate. It sounded like someone got it to work (as Sven seemed to say, above) by simply copying over the installed IrfanView folder from the Windows machine: in my case, C:\Program Files (x86)\IrfanView. But, again, that would involve trying to run that 64-bit installation on this 32-bit machine. If that would work, why wouldn’t the portable version work? Well, I hadn’t actually tried running Gertke’s command with the portable version. I tried that now. But it failed too. It seemed that here, again, the 64-bit version might actually be more Wine-amenable.
Winetricks was looking like my last hope. A search led to an RTCXpression post from which I understood that I should download winetricks through Synaptic. Then the instructions were to go into Start > Wine > Winetricks > Select the default wineprefix > Install a Windows DLL or component > select mfc42. Before going any further with this, I removed mfc42.dll from the system32 folder and put it back on the USB drive. Then I proceeded with Winetricks past that point of selecting mfc42. It gave me what seemed to be a licensing terms agreement dialog, in German. I chose “ja” rather than “nein.” It did something and then put me back at the previous screen. I guessed that now I was supposed to right-click on the IrfanView installer in the Downloads folder (I chose the installer for version 4.42) and once again try to open with the Wine Windows Program Loader.
And that worked! I was looking at the IrfanView installation screen. I let it create a shortcut only on the Desktop — I wasn’t sure if that would work, or if I would need it, but in any case one shortcut was enough. In the installation screen, I kept the default installation folder: C:\Program Files\IrfanView. Regarding another setup option, RTCX advised that Linux would ignore the file association choices I made in the IrfanView installer — but just in case, I clicked the Select All button to associate IrfanView with all sorts of media files, and then unselected the video ones (shown near the bottom of the list), as I would do in a Windows installation. Proceeding on to the next setup options, I wasn’t sure where to put the .ini file, so I stayed with the default. I kept the checkmark to open IrfanView after setup was complete, and it did in fact open.
I closed the installer and, in File Manager, I looked in /home/m1210/.wine/drive_c/Program Files (again using Ctrl-H to see the hidden .wine folder). This time, there was an IrfanView folder. It appeared to contain approximately the same things as the IrfanView folder on drive C in my 64-bit Windows machine, except there were not nearly as many things in the Plugins subfolder.
I ran IrfanView once or twice from the desktop icon, to verify that it worked. In IrfanView, I searched for and successfully played an MPG video file and viewed a JPG file. (They were on the USB drive, which I found in the /media folder.) I was not able to play an MP3 file, however. The attempt to do so gave me an error: “Can’t load plugin: MP3.DLL.” It appeared I would need the IrfanView plugins.
After viewing several of the results from a search, I decided to try that German advice (above) to just swap in the IrfanView folder, with plugins, from a Windows machine. But what I had installed on my Windows machine was the 64-bit version of IrfanView, and what I had installed on this Dell laptop was the 32-bit version. I would have to install this 32-bit copy of IrfanView, and the corresponding 32-bit plugins, on a Windows machine, and then copy over the program folder from that 32-bit installation.
I was afraid that installing 32-bit and 64-bit versions on the same Windows machine would screw something up. One solution was to do a lot of uninstalling and reinstalling of the two versions. The route I took instead was to download the plugins corresponding to the current version that I had installed on the Dell laptop, and then install that 32-bit version and those plugins in a virtual machine. I was running Windows 7 Ultimate, so I had two ready options, for this purpose: VirtualBox and Windows XP Mode. As I recalled, XP Mode would install a huge file on drive C, whereas I could store VirtualBox virtual machines (VMs) on other drives. I planned to be using VirtualBox again anyway, so that’s what I used. I already had a Win7 appliance, so I didn’t have to do much installing. There was a bit of a learning curve, mostly involving creating shared folders and turning off UAC within the VM, but then I was able to run the installer. I went with the default settings in IrfanView, except that I put the INI file in the IrfanView folder.
By whatever method, I wound up with an IrfanView folder on C:\Program Files on the Windows 7 machine. I copied that whole IrfanView folder to a USB drive, and inserted that USB drive in the Linux laptop. I figured I had better keep sets of files together, so (after making sure IrfanView was shut down) I moved the entire previous IrfanView folder from /home/m1210/.wine/drive_c/Program Files to the Desktop, and then moved the entire replacement IrfanView folder from the USB drive to /home/m1210/.wine/drive_c/Program Files. I was able to run IrfanView from the desktop icon again. This time, when I attempted to open an MP3 file, it played. The brain transplant was successful: I had IrfanView 4.42 with plugins running on Linux.